@jevitate/cli 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-cli.d.ts +3 -1
- package/dist/ai-cli.js +60 -16
- package/dist/ai-cli.js.map +1 -1
- package/dist/approval-provenance.d.ts +136 -0
- package/dist/approval-provenance.js +317 -0
- package/dist/approval-provenance.js.map +1 -0
- package/dist/author-journey-cli.js +4 -2
- package/dist/author-journey-cli.js.map +1 -1
- package/dist/bin.js +30544 -20851
- package/dist/browser-cli.d.ts +10 -0
- package/dist/browser-cli.js +50 -0
- package/dist/browser-cli.js.map +1 -0
- package/dist/build-info.generated.js +2 -2
- package/dist/builtin-analyzers.d.ts +7 -0
- package/dist/builtin-analyzers.js +19 -0
- package/dist/builtin-analyzers.js.map +1 -0
- package/dist/campaign-cli.d.ts +6 -0
- package/dist/campaign-cli.js +9 -4
- package/dist/campaign-cli.js.map +1 -1
- package/dist/catalog-analysis.d.ts +70 -0
- package/dist/catalog-analysis.js +507 -0
- package/dist/catalog-analysis.js.map +1 -0
- package/dist/catalog-api.d.ts +73 -0
- package/dist/catalog-api.js +97 -0
- package/dist/catalog-api.js.map +1 -0
- package/dist/catalog-cli.d.ts +12 -0
- package/dist/catalog-cli.js +224 -0
- package/dist/catalog-cli.js.map +1 -0
- package/dist/catalog-review.d.ts +29 -0
- package/dist/catalog-review.js +290 -0
- package/dist/catalog-review.js.map +1 -0
- package/dist/catalog.d.ts +133 -0
- package/dist/catalog.js +352 -0
- package/dist/catalog.js.map +1 -0
- package/dist/change-context.d.ts +44 -0
- package/dist/change-context.js +203 -0
- package/dist/change-context.js.map +1 -0
- package/dist/check-api.d.ts +1 -1
- package/dist/check-api.js +68 -9
- package/dist/check-api.js.map +1 -1
- package/dist/check-cli.d.ts +5 -1
- package/dist/check-cli.js +64 -10
- package/dist/check-cli.js.map +1 -1
- package/dist/check-execute.d.ts +16 -1
- package/dist/check-execute.js +78 -31
- package/dist/check-execute.js.map +1 -1
- package/dist/check-plan.d.ts +14 -0
- package/dist/check-plan.js +28 -2
- package/dist/check-plan.js.map +1 -1
- package/dist/check-suite.js +6 -3
- package/dist/check-suite.js.map +1 -1
- package/dist/check-types.d.ts +51 -6
- package/dist/check-types.js +8 -0
- package/dist/check-types.js.map +1 -1
- package/dist/cli-output.js +85 -5
- package/dist/cli-output.js.map +1 -1
- package/dist/cli-shared.d.ts +22 -2
- package/dist/cli-shared.js +34 -5
- package/dist/cli-shared.js.map +1 -1
- package/dist/demo-aspect-api.d.ts +15 -0
- package/dist/demo-aspect-api.js +26 -1
- package/dist/demo-aspect-api.js.map +1 -1
- package/dist/demo-aspect-cli.js +64 -5
- package/dist/demo-aspect-cli.js.map +1 -1
- package/dist/exit-codes.d.ts +6 -3
- package/dist/exit-codes.js +13 -3
- package/dist/exit-codes.js.map +1 -1
- package/dist/explore-adversarial.d.ts +3 -1
- package/dist/explore-adversarial.js +4 -4
- package/dist/explore-adversarial.js.map +1 -1
- package/dist/explore-author.js +5 -2
- package/dist/explore-author.js.map +1 -1
- package/dist/explore-cli.js +145 -9
- package/dist/explore-cli.js.map +1 -1
- package/dist/explore-coverage.d.ts +6 -2
- package/dist/explore-coverage.js +7 -6
- package/dist/explore-coverage.js.map +1 -1
- package/dist/explore-feature.d.ts +3 -1
- package/dist/explore-feature.js +5 -5
- package/dist/explore-feature.js.map +1 -1
- package/dist/explore-goal.d.ts +37 -6
- package/dist/explore-goal.js +69 -50
- package/dist/explore-goal.js.map +1 -1
- package/dist/explore-shared.d.ts +12 -7
- package/dist/explore-shared.js +9 -1
- package/dist/explore-shared.js.map +1 -1
- package/dist/findings-filing.d.ts +6 -0
- package/dist/findings-filing.js +15 -1
- package/dist/findings-filing.js.map +1 -1
- package/dist/goal-run-flags.d.ts +2 -0
- package/dist/goal-run-flags.js +8 -1
- package/dist/goal-run-flags.js.map +1 -1
- package/dist/heal-probe-guard.d.ts +9 -0
- package/dist/heal-probe-guard.js +113 -0
- package/dist/heal-probe-guard.js.map +1 -0
- package/dist/host-health-run.d.ts +32 -1
- package/dist/host-health-run.js +38 -1
- package/dist/host-health-run.js.map +1 -1
- package/dist/http-5xx-outcome.d.ts +8 -3
- package/dist/http-5xx-outcome.js +5 -15
- package/dist/http-5xx-outcome.js.map +1 -1
- package/dist/init-cli.d.ts +7 -0
- package/dist/init-cli.js +79 -9
- package/dist/init-cli.js.map +1 -1
- package/dist/init-codeowners.d.ts +39 -0
- package/dist/init-codeowners.js +91 -0
- package/dist/init-codeowners.js.map +1 -0
- package/dist/init-keys.d.ts +3 -1
- package/dist/init-keys.js +20 -8
- package/dist/init-keys.js.map +1 -1
- package/dist/init-skills.d.ts +85 -7
- package/dist/init-skills.js +303 -36
- package/dist/init-skills.js.map +1 -1
- package/dist/jev-advisor.d.ts +72 -0
- package/dist/jev-advisor.js +172 -0
- package/dist/jev-advisor.js.map +1 -0
- package/dist/journey-api.d.ts +76 -5
- package/dist/journey-api.js +238 -29
- package/dist/journey-api.js.map +1 -1
- package/dist/journey-cli.js +257 -23
- package/dist/journey-cli.js.map +1 -1
- package/dist/journey-heal.d.ts +74 -0
- package/dist/journey-heal.js +180 -0
- package/dist/journey-heal.js.map +1 -0
- package/dist/journey-network-checks.d.ts +5 -1
- package/dist/journey-network-checks.js +15 -4
- package/dist/journey-network-checks.js.map +1 -1
- package/dist/journey-prefix.js +2 -2
- package/dist/journey-prefix.js.map +1 -1
- package/dist/journey-proposal-store.d.ts +100 -0
- package/dist/journey-proposal-store.js +342 -0
- package/dist/journey-proposal-store.js.map +1 -0
- package/dist/journey-result-record.d.ts +40 -0
- package/dist/journey-result-record.js +28 -0
- package/dist/journey-result-record.js.map +1 -0
- package/dist/journey-review-api.d.ts +19 -0
- package/dist/journey-review-api.js +53 -0
- package/dist/journey-review-api.js.map +1 -0
- package/dist/journey-review-store.d.ts +16 -0
- package/dist/journey-review-store.js +95 -0
- package/dist/journey-review-store.js.map +1 -0
- package/dist/journey-review.d.ts +54 -0
- package/dist/journey-review.js +538 -0
- package/dist/journey-review.js.map +1 -0
- package/dist/journey-verify.js +14 -1
- package/dist/journey-verify.js.map +1 -1
- package/dist/key-report.d.ts +20 -5
- package/dist/key-report.js +32 -9
- package/dist/key-report.js.map +1 -1
- package/dist/kill-signal.js +10 -2
- package/dist/kill-signal.js.map +1 -1
- package/dist/launch-armed.js +5 -1
- package/dist/launch-armed.js.map +1 -1
- package/dist/load-cli.js +4 -2
- package/dist/load-cli.js.map +1 -1
- package/dist/log-classes.d.ts +73 -0
- package/dist/log-classes.js +167 -0
- package/dist/log-classes.js.map +1 -0
- package/dist/log-correlation.d.ts +29 -10
- package/dist/log-correlation.js +44 -21
- package/dist/log-correlation.js.map +1 -1
- package/dist/login-cli.d.ts +17 -0
- package/dist/login-cli.js +161 -0
- package/dist/login-cli.js.map +1 -0
- package/dist/logs-cli.js +3 -1
- package/dist/logs-cli.js.map +1 -1
- package/dist/mcp-api.d.ts +6 -1
- package/dist/mcp-api.js +110 -16
- package/dist/mcp-api.js.map +1 -1
- package/dist/mcp-cli-runner.d.ts +2 -0
- package/dist/mcp-cli-runner.js +3 -1
- package/dist/mcp-cli-runner.js.map +1 -1
- package/dist/mcp-cli-tools.d.ts +5 -0
- package/dist/mcp-cli-tools.js +178 -23
- package/dist/mcp-cli-tools.js.map +1 -1
- package/dist/mission-cli.js +8 -4
- package/dist/mission-cli.js.map +1 -1
- package/dist/mission-journal.d.ts +4 -1
- package/dist/mission-journal.js +9 -3
- package/dist/mission-journal.js.map +1 -1
- package/dist/mission-queue-cli.js +21 -2
- package/dist/mission-queue-cli.js.map +1 -1
- package/dist/mission-queue-runner.d.ts +6 -0
- package/dist/mission-queue-runner.js +33 -3
- package/dist/mission-queue-runner.js.map +1 -1
- package/dist/multi-run-cli.d.ts +7 -1
- package/dist/multi-run-cli.js +10 -3
- package/dist/multi-run-cli.js.map +1 -1
- package/dist/multi-run.d.ts +44 -8
- package/dist/multi-run.js +118 -25
- package/dist/multi-run.js.map +1 -1
- package/dist/persona-login.d.ts +256 -0
- package/dist/persona-login.js +884 -0
- package/dist/persona-login.js.map +1 -0
- package/dist/pre-approval.d.ts +98 -0
- package/dist/pre-approval.js +175 -0
- package/dist/pre-approval.js.map +1 -0
- package/dist/program.js +12 -0
- package/dist/program.js.map +1 -1
- package/dist/project-dir.d.ts +2 -1
- package/dist/project-dir.js +3 -1
- package/dist/project-dir.js.map +1 -1
- package/dist/readiness.d.ts +29 -0
- package/dist/readiness.js +291 -0
- package/dist/readiness.js.map +1 -0
- package/dist/regression-cli.js +4 -2
- package/dist/regression-cli.js.map +1 -1
- package/dist/report-api.d.ts +25 -2
- package/dist/report-api.js +34 -5
- package/dist/report-api.js.map +1 -1
- package/dist/report-cli.js +8 -1
- package/dist/report-cli.js.map +1 -1
- package/dist/resource-preflight.js +5 -3
- package/dist/resource-preflight.js.map +1 -1
- package/dist/result-schema.d.ts +12 -0
- package/dist/result-schema.js +8 -0
- package/dist/result-schema.js.map +1 -1
- package/dist/run-index.d.ts +4 -2
- package/dist/run-index.js +3 -1
- package/dist/run-index.js.map +1 -1
- package/dist/run-key-preflight.d.ts +2 -1
- package/dist/run-key-preflight.js +3 -2
- package/dist/run-key-preflight.js.map +1 -1
- package/dist/run-metadata.d.ts +29 -0
- package/dist/run-metadata.js +48 -0
- package/dist/run-metadata.js.map +1 -0
- package/dist/run-tags-cli.d.ts +14 -0
- package/dist/run-tags-cli.js +41 -0
- package/dist/run-tags-cli.js.map +1 -0
- package/dist/self-heal-adapter.d.ts +43 -27
- package/dist/self-heal-adapter.js +196 -62
- package/dist/self-heal-adapter.js.map +1 -1
- package/dist/site-cli.d.ts +1 -1
- package/dist/site-cli.js +24 -1
- package/dist/site-cli.js.map +1 -1
- package/dist/source-cli.js +9 -5
- package/dist/source-cli.js.map +1 -1
- package/dist/suite-explore-options.d.ts +14 -0
- package/dist/suite-explore-options.js +8 -0
- package/dist/suite-explore-options.js.map +1 -1
- package/dist/sweep-api.d.ts +289 -0
- package/dist/sweep-api.js +859 -0
- package/dist/sweep-api.js.map +1 -0
- package/dist/sweep-cli.d.ts +9 -0
- package/dist/sweep-cli.js +117 -0
- package/dist/sweep-cli.js.map +1 -0
- package/dist/target-config.d.ts +5 -2
- package/dist/target-config.js +15 -0
- package/dist/target-config.js.map +1 -1
- package/dist/ux-cli.js +3 -1
- package/dist/ux-cli.js.map +1 -1
- package/dist/ux-usability.d.ts +9 -3
- package/dist/ux-usability.js +8 -5
- package/dist/ux-usability.js.map +1 -1
- package/dist/verify-fix-cli.js +4 -2
- package/dist/verify-fix-cli.js.map +1 -1
- package/package.json +9 -9
- package/skills/jevitate-ci-check/SKILL.md +9 -1
- package/skills/jevitate-demo/SKILL.md +5 -2
- package/skills/jevitate-getting-started/SKILL.md +14 -1
- package/skills/jevitate-mission-scope/SKILL.md +2 -2
- package/skills/jevitate-run-journey/SKILL.md +42 -9
- package/skills/jevitate-test-campaign/SKILL.md +26 -5
package/dist/init-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-cli.js","sourceRoot":"","sources":["../src/init-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init-cli.js","sourceRoot":"","sources":["../src/init-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #437 — `jevitate init --codeowners <owners>`: a marked CODEOWNERS block that makes the approval
|
|
3
|
+
* records (`.jevitate/journeys/`, `.jevitate/personas.json`, `.jevitate/jobs.json`) need a code
|
|
4
|
+
* owner's review. With branch protection requiring code-owner review on the forge, no approval
|
|
5
|
+
* change — a promoted Journey, an approved persona or job, a waiver — merges without a person.
|
|
6
|
+
* That is the enforcement layer; provenance and the TTY confirmation only detect and add friction.
|
|
7
|
+
*
|
|
8
|
+
* The block follows #431's marker rules (init-skills.ts `mergeMarkedBlock`): replaced in place on a
|
|
9
|
+
* re-run (idempotent), appended otherwise, refused when its markers are malformed.
|
|
10
|
+
*/
|
|
11
|
+
export declare const CODEOWNERS_BLOCK_BEGIN = "# BEGIN JEVITATE CODEOWNERS v1";
|
|
12
|
+
export declare const CODEOWNERS_BLOCK_END = "# END JEVITATE CODEOWNERS v1";
|
|
13
|
+
/** Where GitHub and GitLab look for CODEOWNERS, in GitHub's order; a new file goes in the first. */
|
|
14
|
+
export declare const CODEOWNERS_LOCATIONS: readonly string[];
|
|
15
|
+
/** A bad `--codeowners` value, or no git repository to write it in. Exit 64. */
|
|
16
|
+
export declare class CodeownersArgsError extends Error {
|
|
17
|
+
readonly code = "E_INIT_CODEOWNERS_ARGS";
|
|
18
|
+
}
|
|
19
|
+
/** `--codeowners "@org/team @alice"` (spaces or commas) → the owners; refused when empty or malformed. */
|
|
20
|
+
export declare function parseOwners(value: string): string[];
|
|
21
|
+
/** The block's lines for a `.jevitate/` at `dataDir` (repo-relative, `/`-separated, anchored at the root). */
|
|
22
|
+
export declare function renderCodeownersBlock(owners: readonly string[], dataDir: string): string;
|
|
23
|
+
export interface CodeownersReport {
|
|
24
|
+
/** The CODEOWNERS file written (or that would be, with --dry-run). */
|
|
25
|
+
readonly path: string;
|
|
26
|
+
readonly action: "create" | "update" | "unchanged";
|
|
27
|
+
readonly owners: readonly string[];
|
|
28
|
+
/** Always set: CODEOWNERS only enforces with branch protection on the forge. */
|
|
29
|
+
readonly note: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const BRANCH_PROTECTION_NOTE = "CODEOWNERS enforces nothing alone: enable branch protection on the default branch with \"Require a pull request\" and \"Require review from Code Owners\" (GitHub; GitLab: \"Code owner approval\" on protected branches), and run `jevitate check --require-approvals` in CI";
|
|
32
|
+
/**
|
|
33
|
+
* Writes or merges the block into the repository's CODEOWNERS (an existing one in `.github/`, the
|
|
34
|
+
* root, `docs/` or `.gitlab/`; else `.github/CODEOWNERS`). `cwd` must be inside a git repository;
|
|
35
|
+
* the `.jevitate/` it covers is the one `jevitate init` creates in `cwd`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function installCodeowners(cwd: string, ownersValue: string, opts?: {
|
|
38
|
+
readonly dryRun?: boolean;
|
|
39
|
+
}): Promise<CodeownersReport>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
+
import { dirname, join, relative, sep } from "node:path";
|
|
4
|
+
import { findGitRoot } from "./project-dir.js";
|
|
5
|
+
import { SkillsBlockMarkerError, mergeMarkedBlock } from "./init-skills.js";
|
|
6
|
+
/**
|
|
7
|
+
* #437 — `jevitate init --codeowners <owners>`: a marked CODEOWNERS block that makes the approval
|
|
8
|
+
* records (`.jevitate/journeys/`, `.jevitate/personas.json`, `.jevitate/jobs.json`) need a code
|
|
9
|
+
* owner's review. With branch protection requiring code-owner review on the forge, no approval
|
|
10
|
+
* change — a promoted Journey, an approved persona or job, a waiver — merges without a person.
|
|
11
|
+
* That is the enforcement layer; provenance and the TTY confirmation only detect and add friction.
|
|
12
|
+
*
|
|
13
|
+
* The block follows #431's marker rules (init-skills.ts `mergeMarkedBlock`): replaced in place on a
|
|
14
|
+
* re-run (idempotent), appended otherwise, refused when its markers are malformed.
|
|
15
|
+
*/
|
|
16
|
+
export const CODEOWNERS_BLOCK_BEGIN = "# BEGIN JEVITATE CODEOWNERS v1";
|
|
17
|
+
export const CODEOWNERS_BLOCK_END = "# END JEVITATE CODEOWNERS v1";
|
|
18
|
+
const MARKERS = { begin: /# BEGIN JEVITATE CODEOWNERS v\d+[^\n]*/, end: /# END JEVITATE CODEOWNERS v\d+/, label: "JEVITATE CODEOWNERS" };
|
|
19
|
+
/** Where GitHub and GitLab look for CODEOWNERS, in GitHub's order; a new file goes in the first. */
|
|
20
|
+
export const CODEOWNERS_LOCATIONS = [join(".github", "CODEOWNERS"), "CODEOWNERS", join("docs", "CODEOWNERS"), join(".gitlab", "CODEOWNERS")];
|
|
21
|
+
/** A bad `--codeowners` value, or no git repository to write it in. Exit 64. */
|
|
22
|
+
export class CodeownersArgsError extends Error {
|
|
23
|
+
code = "E_INIT_CODEOWNERS_ARGS";
|
|
24
|
+
}
|
|
25
|
+
/** `@user`, `@org/team`, or an email — what a CODEOWNERS line takes. */
|
|
26
|
+
const OWNER_RE = /^(@[A-Za-z0-9](?:[A-Za-z0-9_.-]*[A-Za-z0-9])?(?:\/[A-Za-z0-9](?:[A-Za-z0-9_.-]*[A-Za-z0-9])?)?|[^\s@]+@[^\s@]+\.[^\s@]+)$/;
|
|
27
|
+
/** `--codeowners "@org/team @alice"` (spaces or commas) → the owners; refused when empty or malformed. */
|
|
28
|
+
export function parseOwners(value) {
|
|
29
|
+
const owners = value
|
|
30
|
+
.split(/[\s,]+/)
|
|
31
|
+
.map((o) => o.trim())
|
|
32
|
+
.filter((o) => o !== "");
|
|
33
|
+
if (owners.length === 0)
|
|
34
|
+
throw new CodeownersArgsError('--codeowners needs at least one owner: "@user", "@org/team" or an email');
|
|
35
|
+
for (const o of owners) {
|
|
36
|
+
if (!OWNER_RE.test(o))
|
|
37
|
+
throw new CodeownersArgsError(`--codeowners: '${o}' is not a code owner ("@user", "@org/team" or an email)`);
|
|
38
|
+
}
|
|
39
|
+
return [...new Set(owners)];
|
|
40
|
+
}
|
|
41
|
+
/** The block's lines for a `.jevitate/` at `dataDir` (repo-relative, `/`-separated, anchored at the root). */
|
|
42
|
+
export function renderCodeownersBlock(owners, dataDir) {
|
|
43
|
+
const base = dataDir === "" ? "/.jevitate" : `/${dataDir}/.jevitate`;
|
|
44
|
+
const who = owners.join(" ");
|
|
45
|
+
return [
|
|
46
|
+
CODEOWNERS_BLOCK_BEGIN,
|
|
47
|
+
"# jevitate approvals (#437): promoted Journeys, catalog personas and jobs, and their approval",
|
|
48
|
+
"# records need a code owner's review. Enable branch protection with \"Require review from Code",
|
|
49
|
+
"# Owners\" on the forge, or this block is advisory. Later rules in this file override these.",
|
|
50
|
+
`${base}/journeys/ ${who}`,
|
|
51
|
+
`${base}/personas.json ${who}`,
|
|
52
|
+
`${base}/jobs.json ${who}`,
|
|
53
|
+
CODEOWNERS_BLOCK_END,
|
|
54
|
+
].join("\n");
|
|
55
|
+
}
|
|
56
|
+
export const BRANCH_PROTECTION_NOTE = 'CODEOWNERS enforces nothing alone: enable branch protection on the default branch with "Require a pull request" and "Require review from Code Owners" (GitHub; GitLab: "Code owner approval" on protected branches), and run `jevitate check --require-approvals` in CI';
|
|
57
|
+
/**
|
|
58
|
+
* Writes or merges the block into the repository's CODEOWNERS (an existing one in `.github/`, the
|
|
59
|
+
* root, `docs/` or `.gitlab/`; else `.github/CODEOWNERS`). `cwd` must be inside a git repository;
|
|
60
|
+
* the `.jevitate/` it covers is the one `jevitate init` creates in `cwd`.
|
|
61
|
+
*/
|
|
62
|
+
export async function installCodeowners(cwd, ownersValue, opts = {}) {
|
|
63
|
+
const owners = parseOwners(ownersValue);
|
|
64
|
+
const root = findGitRoot(cwd);
|
|
65
|
+
if (root === null)
|
|
66
|
+
throw new CodeownersArgsError("--codeowners needs a git repository: run `jevitate init --codeowners` inside the repository whose .jevitate/ it covers");
|
|
67
|
+
const rel = relative(root, cwd).split(sep).filter((p) => p !== "").join("/");
|
|
68
|
+
if (rel.startsWith(".."))
|
|
69
|
+
throw new CodeownersArgsError(`--codeowners: ${cwd} is not inside ${root}`);
|
|
70
|
+
const existing = CODEOWNERS_LOCATIONS.map((l) => join(root, l)).find((p) => existsSync(p));
|
|
71
|
+
const path = existing ?? join(root, CODEOWNERS_LOCATIONS[0]);
|
|
72
|
+
const before = existing === undefined ? "" : await readFile(existing, "utf8");
|
|
73
|
+
let after;
|
|
74
|
+
try {
|
|
75
|
+
after = mergeMarkedBlock(before, renderCodeownersBlock(owners, rel), MARKERS);
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
if (err instanceof SkillsBlockMarkerError)
|
|
79
|
+
throw new CodeownersArgsError(`${path}: ${err.reason}`);
|
|
80
|
+
throw err;
|
|
81
|
+
}
|
|
82
|
+
if (!after.endsWith("\n"))
|
|
83
|
+
after += "\n";
|
|
84
|
+
const action = existing === undefined ? "create" : after === before ? "unchanged" : "update";
|
|
85
|
+
if (opts.dryRun !== true && action !== "unchanged") {
|
|
86
|
+
await mkdir(dirname(path), { recursive: true });
|
|
87
|
+
await writeFile(path, after, "utf8");
|
|
88
|
+
}
|
|
89
|
+
return { path, action, owners, note: BRANCH_PROTECTION_NOTE };
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=init-codeowners.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-codeowners.js","sourceRoot":"","sources":["../src/init-codeowners.ts"],"names":[],"mappings":"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"}
|
package/dist/init-keys.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CredentialStore, type SecureKeyIO, type Feature, type CredentialKey } from "@jevitate/ai-core";
|
|
1
|
+
import { type CredentialStore, type SecureKeyIO, type Feature, type CredentialKey, type JevProvider } from "@jevitate/ai-core";
|
|
2
2
|
import type { KeySourceReport, KeyVerificationReport } from "./key-report.js";
|
|
3
3
|
export interface FeatureKeyReport {
|
|
4
4
|
required: CredentialKey[];
|
|
@@ -31,6 +31,8 @@ export interface CollectAllMissingKeysOptions {
|
|
|
31
31
|
replace?: boolean;
|
|
32
32
|
/** #291: checks each entered value before it is persisted (throws to refuse it). */
|
|
33
33
|
check?: (key: CredentialKey, value: string) => Promise<void>;
|
|
34
|
+
/** #429: the Jev provider override (`JEVITATE_JEV_PROVIDER`) — which key judgment needs. */
|
|
35
|
+
jevProvider?: JevProvider;
|
|
34
36
|
}
|
|
35
37
|
/**
|
|
36
38
|
* Thin orchestration over the existing, already-guardrailed `collectMissingKeys`
|
package/dist/init-keys.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { collectKeys,
|
|
1
|
+
import { collectKeys, featureKeys, } from "@jevitate/ai-core";
|
|
2
2
|
const FEATURES = ["generation", "judgment"];
|
|
3
3
|
/**
|
|
4
4
|
* Thin orchestration over the existing, already-guardrailed `collectMissingKeys`
|
|
@@ -10,20 +10,32 @@ const FEATURES = ["generation", "judgment"];
|
|
|
10
10
|
export async function collectAllMissingKeys(store, io, opts = {}) {
|
|
11
11
|
const report = {};
|
|
12
12
|
const interactive = opts.interactive ?? true;
|
|
13
|
+
// #429: a key entered for an earlier feature counts as configured for a later one — the OpenRouter
|
|
14
|
+
// key just entered for generation also satisfies judgment (Jev through OpenRouter), so it is not
|
|
15
|
+
// asked for a TypeSafe key too.
|
|
16
|
+
const entered = new Set();
|
|
17
|
+
const view = { detect: (k) => entered.has(k) || store.detect(k), read: (k) => store.read(k) };
|
|
13
18
|
for (const feature of FEATURES) {
|
|
14
|
-
const required =
|
|
19
|
+
const required = featureKeys(feature, view, opts.jevProvider);
|
|
15
20
|
if (interactive) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
// `--replace-keys`: a key already re-entered for an earlier feature is not asked for twice.
|
|
22
|
+
const alreadyEntered = opts.replace === true && required.every((k) => entered.has(k));
|
|
23
|
+
const collected = alreadyEntered
|
|
24
|
+
? []
|
|
25
|
+
: await collectKeys(feature, view, io, {
|
|
26
|
+
...(opts.replace === true ? { replace: true } : {}),
|
|
27
|
+
...(opts.check === undefined ? {} : { check: opts.check }),
|
|
28
|
+
...(opts.jevProvider === undefined ? {} : { jevProvider: opts.jevProvider }),
|
|
29
|
+
});
|
|
30
|
+
for (const k of collected)
|
|
31
|
+
entered.add(k);
|
|
32
|
+
report[feature] = { required: featureKeys(feature, view, opts.jevProvider), collected };
|
|
21
33
|
}
|
|
22
34
|
else {
|
|
23
35
|
// Never prompt: report what's still missing instead of hanging on a closed stdin. `missing`
|
|
24
36
|
// is omitted (not an empty array) when nothing is missing, so a fully-configured non-TTY
|
|
25
37
|
// run reads identically to the interactive path's `{ required, collected: [] }`.
|
|
26
|
-
const missing = required.filter((k) => !
|
|
38
|
+
const missing = required.filter((k) => !view.detect(k));
|
|
27
39
|
report[feature] = { required, collected: [], ...(missing.length > 0 ? { missing } : {}) };
|
|
28
40
|
}
|
|
29
41
|
}
|
package/dist/init-keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-keys.js","sourceRoot":"","sources":["../src/init-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"init-keys.js","sourceRoot":"","sources":["../src/init-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,GAMZ,MAAM,mBAAmB,CAAC;AAsB3B,MAAM,QAAQ,GAAc,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAmBvD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAsB,EACtB,EAAe,EACf,OAAqC,EAAE;IAEvC,MAAM,MAAM,GAAG,EAAyB,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IAC7C,mGAAmG;IACnG,iGAAiG;IACjG,gCAAgC;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACzC,MAAM,IAAI,GAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,4FAA4F;YAC5F,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,SAAS,GAAG,cAAc;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;oBACnC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC1D,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;iBAC7E,CAAC,CAAC;YACP,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,4FAA4F;YAC5F,yFAAyF;YACzF,iFAAiF;YACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/init-skills.d.ts
CHANGED
|
@@ -20,9 +20,10 @@ export interface InstallTargetPaths {
|
|
|
20
20
|
cursorRulesDir: string;
|
|
21
21
|
genericAgentsFile: string;
|
|
22
22
|
genericSkillsDir: string;
|
|
23
|
+
claudeMdFile: string;
|
|
23
24
|
}
|
|
24
25
|
export declare function resolveInstallTargetPaths(deps?: DetectionDeps): InstallTargetPaths;
|
|
25
|
-
export type InstallAction = "create" | "update" | "unchanged" | "skip-user-modified" | "force-update";
|
|
26
|
+
export type InstallAction = "create" | "update" | "unchanged" | "skip-user-modified" | "force-update" | "refuse-malformed";
|
|
26
27
|
/**
|
|
27
28
|
* Decides what to do with one whole-file target. Never writes. A target whose
|
|
28
29
|
* current on-disk hash does not match the hash `init` last recorded (or was
|
|
@@ -35,11 +36,46 @@ export declare function planFileInstall(targetPath: string, newContent: string,
|
|
|
35
36
|
export declare function applyFileInstall(targetPath: string, content: string, action: InstallAction): Promise<void>;
|
|
36
37
|
export declare const SKILLS_BLOCK_BEGIN = "<!-- BEGIN JEVITATE SKILLS v1 -->";
|
|
37
38
|
export declare const SKILLS_BLOCK_END = "<!-- END JEVITATE SKILLS v1 -->";
|
|
39
|
+
/** Matches a BEGIN marker of ANY version, plus any trailing attributes (#431). */
|
|
40
|
+
export declare const SKILLS_BLOCK_BEGIN_RE: RegExp;
|
|
41
|
+
/** Matches an END marker of ANY version (#431). */
|
|
42
|
+
export declare const SKILLS_BLOCK_END_RE: RegExp;
|
|
43
|
+
/** Raised when a file's marker pair is malformed (missing, duplicated, or misordered). */
|
|
44
|
+
export declare class SkillsBlockMarkerError extends Error {
|
|
45
|
+
readonly reason: string;
|
|
46
|
+
constructor(reason: string);
|
|
47
|
+
}
|
|
48
|
+
export type SkillsBlockLocation = {
|
|
49
|
+
kind: "none";
|
|
50
|
+
} | {
|
|
51
|
+
kind: "block";
|
|
52
|
+
start: number;
|
|
53
|
+
end: number;
|
|
54
|
+
} | {
|
|
55
|
+
kind: "malformed";
|
|
56
|
+
reason: string;
|
|
57
|
+
};
|
|
58
|
+
/** #437: a marked block's BEGIN/END markers (any version) and its name in fix-it messages. */
|
|
59
|
+
export interface BlockMarkers {
|
|
60
|
+
readonly begin: RegExp;
|
|
61
|
+
readonly end: RegExp;
|
|
62
|
+
/** e.g. `JEVITATE SKILLS`. */
|
|
63
|
+
readonly label: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Locates the Jevitate skills block in `content`, version-agnostically (#431).
|
|
67
|
+
* `none` when no marker is present; `malformed` (with a fix-it reason) when the
|
|
68
|
+
* markers are missing, duplicated, or misordered; otherwise `block` with the
|
|
69
|
+
* BEGIN-line-start..END-marker-end span.
|
|
70
|
+
*/
|
|
71
|
+
export declare function findSkillsBlock(content: string): SkillsBlockLocation;
|
|
38
72
|
type BlockSkill = Pick<ResolvedSkill, "id" | "name" | "description" | "body">;
|
|
39
73
|
export interface RenderBlockOptions {
|
|
40
74
|
mode: "inline" | "reference";
|
|
41
75
|
/** Required for reference mode: where the Claude-Code copies live. */
|
|
42
76
|
claudeSkillsDir?: string;
|
|
77
|
+
/** When set, the BEGIN marker carries a `jevitate@<version>` stamp (#431). */
|
|
78
|
+
jevitateVersion?: string;
|
|
43
79
|
}
|
|
44
80
|
/**
|
|
45
81
|
* Renders the marked block that Codex/generic `AGENTS.md` carry. In `inline`
|
|
@@ -49,21 +85,40 @@ export interface RenderBlockOptions {
|
|
|
49
85
|
*/
|
|
50
86
|
export declare function renderSkillsBlock(skills: BlockSkill[], opts: RenderBlockOptions): string;
|
|
51
87
|
/**
|
|
52
|
-
* Splices `newBlock` (marker-wrapped) into `existing`.
|
|
53
|
-
*
|
|
88
|
+
* Splices `newBlock` (marker-wrapped) into `existing`. Any existing block (of
|
|
89
|
+
* ANY version) is replaced in place; everything before the opening marker and
|
|
54
90
|
* after the closing marker is preserved byte-for-byte. Otherwise the block is
|
|
55
|
-
* appended after a blank-line separator. Idempotent on repeat with the same
|
|
91
|
+
* appended after a blank-line separator. Idempotent on repeat with the same
|
|
92
|
+
* block. Throws `SkillsBlockMarkerError` when the target's markers are
|
|
93
|
+
* malformed (#431).
|
|
56
94
|
*/
|
|
57
95
|
export declare function mergeBlock(existing: string, newBlock: string): string;
|
|
58
|
-
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
96
|
+
/**
|
|
97
|
+
* #437: `mergeBlock` for any marked block (`BlockMarkers`) — e.g. the CODEOWNERS block of
|
|
98
|
+
* `jevitate init --codeowners`. Same rules: replaced in place, else appended; idempotent; throws
|
|
99
|
+
* `SkillsBlockMarkerError` on malformed markers.
|
|
100
|
+
*/
|
|
101
|
+
export declare function mergeMarkedBlock(existing: string, newBlock: string, markers: BlockMarkers): string;
|
|
102
|
+
/** sha256 of just the block's inner text (between the marker lines) — so the
|
|
103
|
+
* `jevitate@<version>` stamp in the BEGIN line never counts as a user
|
|
104
|
+
* modification, while edits INSIDE the block do. `undefined` when no block is
|
|
105
|
+
* present; throws `SkillsBlockMarkerError` when the markers are malformed. */
|
|
61
106
|
export declare function extractBlockHash(content: string): string | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* Decides what to do with one marked-block target. Never writes and never
|
|
109
|
+
* throws: a malformed marker pair is reported as `refuse-malformed` so the
|
|
110
|
+
* skill installer leaves that file untouched and proceeds with the others (#431).
|
|
111
|
+
*/
|
|
112
|
+
export declare function planBlockInstall(targetPath: string, newBlock: string, lastInstalledHash: string | undefined, opts?: {
|
|
113
|
+
force?: boolean;
|
|
114
|
+
}): Promise<InstallAction>;
|
|
62
115
|
export interface InstallReport {
|
|
63
116
|
target: RuntimeId;
|
|
64
117
|
skillId: string;
|
|
65
118
|
path: string;
|
|
66
119
|
action: InstallAction;
|
|
120
|
+
/** Populated for `refuse-malformed`: the human fix-it reason (#431). */
|
|
121
|
+
reason?: string;
|
|
67
122
|
}
|
|
68
123
|
/**
|
|
69
124
|
* Detect/plan/install the six skills into every runtime passed in (the caller
|
|
@@ -76,5 +131,28 @@ export interface InstallReport {
|
|
|
76
131
|
export declare function installSkills(runtimes: RuntimeId[], skills: ResolvedSkill[], paths: InstallTargetPaths, statePath: string, opts?: {
|
|
77
132
|
force?: boolean;
|
|
78
133
|
dryRun?: boolean;
|
|
134
|
+
jevitateVersion?: string;
|
|
135
|
+
claudeMd?: boolean;
|
|
79
136
|
}): Promise<InstallReport[]>;
|
|
137
|
+
export interface UninstallReport {
|
|
138
|
+
target: RuntimeId;
|
|
139
|
+
skillId: string;
|
|
140
|
+
path: string;
|
|
141
|
+
action: "remove" | "absent" | "skip-user-modified" | "force-remove" | "refuse-malformed";
|
|
142
|
+
/** Populated for `refuse-malformed`: the human fix-it reason (#431). */
|
|
143
|
+
reason?: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Removes everything `installSkills` wrote, with the same never-clobber safety:
|
|
147
|
+
* a whole file or block whose current hash differs from the recorded state is
|
|
148
|
+
* reported `skip-user-modified` (or `force-remove` with `force`) rather than
|
|
149
|
+
* deleted. Malformed markers are reported `refuse-malformed` and left alone.
|
|
150
|
+
* `dryRun` reports the plan and writes nothing. Corresponding state entries are
|
|
151
|
+
* dropped for removed/absent targets.
|
|
152
|
+
*/
|
|
153
|
+
export declare function uninstallSkills(runtimes: RuntimeId[], skills: ResolvedSkill[], paths: InstallTargetPaths, statePath: string, opts?: {
|
|
154
|
+
force?: boolean;
|
|
155
|
+
dryRun?: boolean;
|
|
156
|
+
claudeMd?: boolean;
|
|
157
|
+
}): Promise<UninstallReport[]>;
|
|
80
158
|
export {};
|