@mean-weasel/lineage 0.1.22 → 0.1.23
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/CHANGELOG.md +10 -0
- package/MANUAL_INSTALL_DOGFOOD.md +1 -0
- package/README.md +8 -5
- package/dist/cli/lineage-dev.js +27 -21
- package/dist/cli/lineage-dev.js.map +3 -3
- package/dist/cli/lineage-preview.js +27 -21
- package/dist/cli/lineage-preview.js.map +3 -3
- package/dist/cli/lineage.js +27 -21
- package/dist/cli/lineage.js.map +3 -3
- package/dist/docs-site/404.html +41 -0
- package/dist/docs-site/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.BcSo_yiZ.js +1 -0
- package/dist/docs-site/_astro/Search.astro_astro_type_script_index_0_lang.x2pVooPA.js +1 -0
- package/dist/docs-site/_astro/TableOfContents.astro_astro_type_script_index_0_lang.Csloo1VZ.js +1 -0
- package/dist/docs-site/_astro/common.DarLW4Vf.css +3 -0
- package/dist/docs-site/_astro/ec.0vx5m.js +3 -0
- package/dist/docs-site/_astro/ec.w36nc.css +1 -0
- package/dist/docs-site/_astro/page.LAbJoB63.js +1 -0
- package/dist/docs-site/_astro/print.ehPL0gv-.css +1 -0
- package/dist/docs-site/_astro/starlight-toc.CTCQXEge.js +1 -0
- package/dist/docs-site/_astro/ui-core.DWIqd25E.js +2 -0
- package/dist/docs-site/concepts/agent-claims-handoffs/index.html +99 -0
- package/dist/docs-site/concepts/attempts-current-version/index.html +86 -0
- package/dist/docs-site/concepts/branches-vs-rerolls/index.html +114 -0
- package/dist/docs-site/concepts/projects-workspaces-assets/index.html +89 -0
- package/dist/docs-site/concepts/selections-next-variations/index.html +86 -0
- package/dist/docs-site/index.html +92 -0
- package/dist/docs-site/integrations/cloud-storage/index.html +92 -0
- package/dist/docs-site/integrations/image-generation/index.html +93 -0
- package/dist/docs-site/integrations/index.html +112 -0
- package/dist/docs-site/integrations/social-scheduling/index.html +89 -0
- package/dist/docs-site/operations/backup-recovery/index.html +87 -0
- package/dist/docs-site/operations/channels/index.html +88 -0
- package/dist/docs-site/operations/local-first-data/index.html +90 -0
- package/dist/docs-site/operations/profiles-database-identity/index.html +90 -0
- package/dist/docs-site/operations/troubleshooting/index.html +89 -0
- package/dist/docs-site/pagefind/fragment/en_1126abb.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_19b3f6c.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_31aa611.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_38817cc.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_4184ad1.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_41db543.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_469f895.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_4db923b.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_56e45b6.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_56fe7ca.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_581a7cb.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_5be5e44.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_603c2be.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_66b3118.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_6a19c31.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_74e9307.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_7c9d5a2.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_818744b.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_8269752.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_88b38c1.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_8c1c735.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_98d9b16.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_a3d636e.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_b15ecf0.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_bcc29c5.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_bfb13e9.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_d0fca9e.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_d49ed00.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_e0786b9.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_e298dee.pf_fragment +0 -0
- package/dist/docs-site/pagefind/fragment/en_f6179a8.pf_fragment +0 -0
- package/dist/docs-site/pagefind/index/en_f279b04.pf_index +0 -0
- package/dist/docs-site/pagefind/pagefind-component-ui.css +1509 -0
- package/dist/docs-site/pagefind/pagefind-component-ui.js +56 -0
- package/dist/docs-site/pagefind/pagefind-entry.json +1 -0
- package/dist/docs-site/pagefind/pagefind-highlight.js +1070 -0
- package/dist/docs-site/pagefind/pagefind-modular-ui.css +214 -0
- package/dist/docs-site/pagefind/pagefind-modular-ui.js +8 -0
- package/dist/docs-site/pagefind/pagefind-ui.css +1 -0
- package/dist/docs-site/pagefind/pagefind-ui.js +2 -0
- package/dist/docs-site/pagefind/pagefind-worker.js +6 -0
- package/dist/docs-site/pagefind/pagefind.en_74951c3ca7.pf_meta +0 -0
- package/dist/docs-site/pagefind/pagefind.js +6 -0
- package/dist/docs-site/pagefind/wasm.en.pagefind +0 -0
- package/dist/docs-site/pagefind/wasm.unknown.pagefind +0 -0
- package/dist/docs-site/reference/cli/index.html +86 -0
- package/dist/docs-site/reference/interface-guide/index.html +86 -0
- package/dist/docs-site/reference/release-notes/index.html +80 -0
- package/dist/docs-site/reference/settings/index.html +86 -0
- package/dist/docs-site/reference/terminology/index.html +94 -0
- package/dist/docs-site/sitemap-0.xml +1 -0
- package/dist/docs-site/sitemap-index.xml +1 -0
- package/dist/docs-site/start-here/example-projects/index.html +88 -0
- package/dist/docs-site/start-here/first-workspace/index.html +91 -0
- package/dist/docs-site/start-here/installation-first-run/index.html +86 -0
- package/dist/docs-site/start-here/what-is-lineage/index.html +96 -0
- package/dist/docs-site/workflows/back-up-approved-assets/index.html +88 -0
- package/dist/docs-site/workflows/content-batches/index.html +88 -0
- package/dist/docs-site/workflows/continue-new-agent-session/index.html +89 -0
- package/dist/docs-site/workflows/create-grow-lineage/index.html +89 -0
- package/dist/docs-site/workflows/generate-import-variations/index.html +92 -0
- package/dist/docs-site/workflows/restore-earlier-attempt/index.html +87 -0
- package/dist/docs-site/workflows/review-approve-assets/index.html +87 -0
- package/dist/pages/.nojekyll +0 -0
- package/dist/pages/assets/agent-shared-state-DOfpTLiw.webp +0 -0
- package/dist/pages/assets/agent-to-canvas-DtIu_cPq.mp4 +0 -0
- package/dist/pages/assets/app-B-fAyNsU.css +1 -0
- package/dist/{web/assets/app-D-7R33Mc.js → pages/assets/app-DdU93vp2.js} +36 -2
- package/dist/pages/assets/attempt-history-D6wdic6n.webp +0 -0
- package/dist/pages/assets/branching-tree-B8I5_S6D.png +0 -0
- package/dist/pages/assets/canvas-cli-DHBacq7r.png +0 -0
- package/dist/pages/assets/hero-agent-sync-D8ibW83E.mp4 +0 -0
- package/dist/pages/assets/hero-agent-sync-poster-zBB3KpbO.png +0 -0
- package/dist/pages/assets/hero-board-DG3ED4AW.webp +0 -0
- package/dist/pages/assets/hero-lineage-growth-Bsl9tiq-.mp4 +0 -0
- package/dist/pages/assets/hero-trace-connections-Bb52ABBc.mp4 +0 -0
- package/dist/pages/assets/human-selection-BdDBDE-I.webp +0 -0
- package/dist/pages/assets/human-to-agent-D1z92ZO9.mp4 +0 -0
- package/dist/pages/assets/jsx-runtime-DAFSxiwi.js +8 -0
- package/dist/pages/assets/landing-MwOFmHoi.js +2 -0
- package/dist/pages/assets/landing-wy4L-yBm.css +1 -0
- package/dist/pages/assets/reroll-history-DQcEH42R.mp4 +0 -0
- package/dist/pages/docs/404.html +41 -0
- package/dist/pages/docs/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.BcSo_yiZ.js +1 -0
- package/dist/pages/docs/_astro/Search.astro_astro_type_script_index_0_lang.x2pVooPA.js +1 -0
- package/dist/pages/docs/_astro/TableOfContents.astro_astro_type_script_index_0_lang.Csloo1VZ.js +1 -0
- package/dist/pages/docs/_astro/common.DarLW4Vf.css +3 -0
- package/dist/pages/docs/_astro/ec.0vx5m.js +3 -0
- package/dist/pages/docs/_astro/ec.w36nc.css +1 -0
- package/dist/pages/docs/_astro/page.LAbJoB63.js +1 -0
- package/dist/pages/docs/_astro/print.ehPL0gv-.css +1 -0
- package/dist/pages/docs/_astro/starlight-toc.CTCQXEge.js +1 -0
- package/dist/pages/docs/_astro/ui-core.DWIqd25E.js +2 -0
- package/dist/pages/docs/concepts/agent-claims-handoffs/index.html +99 -0
- package/dist/pages/docs/concepts/attempts-current-version/index.html +86 -0
- package/dist/pages/docs/concepts/branches-vs-rerolls/index.html +114 -0
- package/dist/pages/docs/concepts/projects-workspaces-assets/index.html +89 -0
- package/dist/pages/docs/concepts/selections-next-variations/index.html +86 -0
- package/dist/pages/docs/index.html +92 -0
- package/dist/pages/docs/integrations/cloud-storage/index.html +92 -0
- package/dist/pages/docs/integrations/image-generation/index.html +93 -0
- package/dist/pages/docs/integrations/index.html +112 -0
- package/dist/pages/docs/integrations/social-scheduling/index.html +89 -0
- package/dist/pages/docs/operations/backup-recovery/index.html +87 -0
- package/dist/pages/docs/operations/channels/index.html +88 -0
- package/dist/pages/docs/operations/local-first-data/index.html +90 -0
- package/dist/pages/docs/operations/profiles-database-identity/index.html +90 -0
- package/dist/pages/docs/operations/troubleshooting/index.html +89 -0
- package/dist/pages/docs/pagefind/fragment/en_1126abb.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_19b3f6c.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_31aa611.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_38817cc.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_4184ad1.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_41db543.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_469f895.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_4db923b.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_56e45b6.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_56fe7ca.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_581a7cb.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_5be5e44.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_603c2be.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_66b3118.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_6a19c31.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_74e9307.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_7c9d5a2.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_818744b.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_8269752.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_88b38c1.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_8c1c735.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_98d9b16.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_a3d636e.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_b15ecf0.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_bcc29c5.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_bfb13e9.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_d0fca9e.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_d49ed00.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_e0786b9.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_e298dee.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/fragment/en_f6179a8.pf_fragment +0 -0
- package/dist/pages/docs/pagefind/index/en_f279b04.pf_index +0 -0
- package/dist/pages/docs/pagefind/pagefind-component-ui.css +1509 -0
- package/dist/pages/docs/pagefind/pagefind-component-ui.js +56 -0
- package/dist/pages/docs/pagefind/pagefind-entry.json +1 -0
- package/dist/pages/docs/pagefind/pagefind-highlight.js +1070 -0
- package/dist/pages/docs/pagefind/pagefind-modular-ui.css +214 -0
- package/dist/pages/docs/pagefind/pagefind-modular-ui.js +8 -0
- package/dist/pages/docs/pagefind/pagefind-ui.css +1 -0
- package/dist/pages/docs/pagefind/pagefind-ui.js +2 -0
- package/dist/pages/docs/pagefind/pagefind-worker.js +6 -0
- package/dist/pages/docs/pagefind/pagefind.en_74951c3ca7.pf_meta +0 -0
- package/dist/pages/docs/pagefind/pagefind.js +6 -0
- package/dist/pages/docs/pagefind/wasm.en.pagefind +0 -0
- package/dist/pages/docs/pagefind/wasm.unknown.pagefind +0 -0
- package/dist/pages/docs/reference/cli/index.html +86 -0
- package/dist/pages/docs/reference/interface-guide/index.html +86 -0
- package/dist/pages/docs/reference/release-notes/index.html +80 -0
- package/dist/pages/docs/reference/settings/index.html +86 -0
- package/dist/pages/docs/reference/terminology/index.html +94 -0
- package/dist/pages/docs/sitemap-0.xml +1 -0
- package/dist/pages/docs/sitemap-index.xml +1 -0
- package/dist/pages/docs/start-here/example-projects/index.html +88 -0
- package/dist/pages/docs/start-here/first-workspace/index.html +91 -0
- package/dist/pages/docs/start-here/installation-first-run/index.html +86 -0
- package/dist/pages/docs/start-here/what-is-lineage/index.html +96 -0
- package/dist/pages/docs/workflows/back-up-approved-assets/index.html +88 -0
- package/dist/pages/docs/workflows/content-batches/index.html +88 -0
- package/dist/pages/docs/workflows/continue-new-agent-session/index.html +89 -0
- package/dist/pages/docs/workflows/create-grow-lineage/index.html +89 -0
- package/dist/pages/docs/workflows/generate-import-variations/index.html +92 -0
- package/dist/pages/docs/workflows/restore-earlier-attempt/index.html +87 -0
- package/dist/pages/docs/workflows/review-approve-assets/index.html +87 -0
- package/dist/pages/index.html +42 -0
- package/dist/pages/landing/index.html +42 -0
- package/dist/pages/lineage-showcase-cover-16x9.png +0 -0
- package/dist/runtime-build.json +5 -5
- package/dist/server.js +73 -24
- package/dist/server.js.map +4 -4
- package/dist/web/assets/app-DdU93vp2.js +50 -0
- package/dist/web/assets/landing-MwOFmHoi.js +2 -0
- package/dist/web/index.html +3 -3
- package/dist/web/landing/index.html +26 -3
- package/dist/web/lineage-showcase-cover-16x9.png +0 -0
- package/package.json +10 -2
- package/dist/web/assets/landing-DIjBBL33.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 0.1.23
|
|
6
|
+
|
|
7
|
+
- Make missing Codex CLI failures explain how to restore `PATH`, verify `npx` and Codex prerequisites explicitly, and gate releases on compatibility with the independently published plugin installer.
|
|
8
|
+
- Add a reusable Lineage showcase cover and refine its presentation without browser text-selection artifacts.
|
|
9
|
+
- Show absolute local paths in asset details while preserving safe relative paths in persisted lineage data.
|
|
10
|
+
- Add the public documentation hub, freshness checks, CI routing, and GitHub Pages deployment workflow.
|
|
11
|
+
- Refresh vulnerable transitive dependencies for `brace-expansion`, `postcss`, and `nanoid`.
|
|
12
|
+
|
|
3
13
|
## 0.1.22
|
|
4
14
|
|
|
5
15
|
- Harden the landing page, README, and packaged manual dogfood guide with fail-fast first-run commands that complete the post-initialization runtime, profile, database, and service identity gate.
|
|
@@ -72,6 +72,7 @@ Record the prerequisites and registry selection:
|
|
|
72
72
|
```bash
|
|
73
73
|
run_lineage_dogfood node --version
|
|
74
74
|
run_lineage_dogfood npm --version
|
|
75
|
+
run_lineage_dogfood npx --version
|
|
75
76
|
run_lineage_dogfood codex --version
|
|
76
77
|
run_lineage_dogfood npm view @mean-weasel/lineage dist-tags version engines --json
|
|
77
78
|
```
|
package/README.md
CHANGED
|
@@ -59,14 +59,17 @@ Before installing anything, verify the tools used by the path you choose:
|
|
|
59
59
|
```bash
|
|
60
60
|
node --version
|
|
61
61
|
npm --version
|
|
62
|
+
npx --version
|
|
62
63
|
make --version
|
|
63
64
|
```
|
|
64
65
|
|
|
65
|
-
Lineage requires Node.js 22.22.0 or newer and npm
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
Lineage requires Node.js 22.22.0 or newer and npm, including the accompanying
|
|
67
|
+
`npx` command used by the plugin installer. Make is required only for the
|
|
68
|
+
documented `make` shortcuts. A real Codex installation is optional for the app,
|
|
69
|
+
but required to install and activate the Codex plugin; verify that additional
|
|
70
|
+
prerequisite with `codex --version` in the same shell before following the
|
|
71
|
+
plugin step. If either command is missing, restore its executable directory on
|
|
72
|
+
`PATH` before installing.
|
|
70
73
|
|
|
71
74
|
On the minimum supported Node 22 line, foreground startup can print one
|
|
72
75
|
`ExperimentalWarning` for Node's built-in SQLite module before the healthy
|
package/dist/cli/lineage-dev.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { existsSync as existsSync11, mkdirSync as mkdirSync6, readFileSync as readFileSync6, writeFileSync as writeFileSync4 } from "node:fs";
|
|
5
5
|
import { randomUUID as randomUUID4 } from "node:crypto";
|
|
6
6
|
import { homedir as homedir2, platform as platform2 } from "node:os";
|
|
7
|
-
import { dirname as dirname6, join as join10, resolve as
|
|
7
|
+
import { dirname as dirname6, join as join10, resolve as resolve9 } from "node:path";
|
|
8
8
|
import { spawn } from "node:child_process";
|
|
9
9
|
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
10
10
|
|
|
@@ -2810,7 +2810,7 @@ function validateAgentClaimForWrite(fields) {
|
|
|
2810
2810
|
}
|
|
2811
2811
|
|
|
2812
2812
|
// src/server/assetLineage.ts
|
|
2813
|
-
import { join as join7 } from "node:path";
|
|
2813
|
+
import { isAbsolute as isAbsolute2, join as join7, resolve as resolve5 } from "node:path";
|
|
2814
2814
|
|
|
2815
2815
|
// src/server/assetLineageSelection.ts
|
|
2816
2816
|
function selectedRows(database, project, root) {
|
|
@@ -3515,6 +3515,11 @@ function collectAssets(project, source) {
|
|
|
3515
3515
|
}
|
|
3516
3516
|
return assets;
|
|
3517
3517
|
}
|
|
3518
|
+
function absoluteLocalPath(localPath) {
|
|
3519
|
+
if (!localPath) return void 0;
|
|
3520
|
+
if (isAbsolute2(localPath)) return localPath;
|
|
3521
|
+
return resolve5(repoRoot, ".asset-scratch", localPath);
|
|
3522
|
+
}
|
|
3518
3523
|
function upsertProject(database, project) {
|
|
3519
3524
|
const timestamp = nowIso();
|
|
3520
3525
|
database.prepare(`
|
|
@@ -3929,6 +3934,7 @@ function getLineageSnapshot(project, assetId) {
|
|
|
3929
3934
|
const lineageTasks = lineageTasksByNode.get(row.asset_id);
|
|
3930
3935
|
return {
|
|
3931
3936
|
...node,
|
|
3937
|
+
absolute_path: absoluteLocalPath(row.local_path),
|
|
3932
3938
|
attempt_count: attempts.length,
|
|
3933
3939
|
current_attempt: currentAttempt,
|
|
3934
3940
|
is_latest: !childIds.has(row.asset_id),
|
|
@@ -4361,7 +4367,7 @@ function linkSelectedLineageChild(project, fields) {
|
|
|
4361
4367
|
|
|
4362
4368
|
// src/server/generationReceipts.ts
|
|
4363
4369
|
import { existsSync as existsSync8, realpathSync as realpathSync2, statSync as statSync4 } from "node:fs";
|
|
4364
|
-
import { relative as relative3, resolve as
|
|
4370
|
+
import { relative as relative3, resolve as resolve6 } from "node:path";
|
|
4365
4371
|
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
4366
4372
|
|
|
4367
4373
|
// src/shared/generationOutputManifest.ts
|
|
@@ -4896,8 +4902,8 @@ function isPathInside(child, parent) {
|
|
|
4896
4902
|
return Boolean(rel) && !rel.startsWith("..") && !rel.startsWith("/");
|
|
4897
4903
|
}
|
|
4898
4904
|
function scratchCandidate(file) {
|
|
4899
|
-
const scratchRoot =
|
|
4900
|
-
const candidate = file.startsWith(".asset-scratch/") ||
|
|
4905
|
+
const scratchRoot = resolve6(repoRoot, ".asset-scratch");
|
|
4906
|
+
const candidate = file.startsWith(".asset-scratch/") || resolve6(file).startsWith(scratchRoot) ? resolve6(repoRoot, file) : resolve6(scratchRoot, file);
|
|
4901
4907
|
if (!isPathInside(candidate, scratchRoot)) throw new GenerationReceiptError(`Import file must be under .asset-scratch: ${file}`);
|
|
4902
4908
|
return { candidate, scratchRoot };
|
|
4903
4909
|
}
|
|
@@ -5152,7 +5158,7 @@ function importImageRerollOutput(project = defaultProject, fields) {
|
|
|
5152
5158
|
// src/server/lineageSelectionPacket.ts
|
|
5153
5159
|
import { createHash as createHash5 } from "node:crypto";
|
|
5154
5160
|
import { existsSync as existsSync9, statSync as statSync5 } from "node:fs";
|
|
5155
|
-
import { isAbsolute as
|
|
5161
|
+
import { isAbsolute as isAbsolute3, resolve as resolve7 } from "node:path";
|
|
5156
5162
|
var LineageSelectionPacketError = class extends Error {
|
|
5157
5163
|
constructor(message, warnings = [], errors = [], diagnostics = []) {
|
|
5158
5164
|
super(message);
|
|
@@ -5198,10 +5204,10 @@ function resolveWorkspace(project, options) {
|
|
|
5198
5204
|
}
|
|
5199
5205
|
function resolveLocalReference(reference) {
|
|
5200
5206
|
if (!reference) return void 0;
|
|
5201
|
-
if (
|
|
5202
|
-
const repoRelative =
|
|
5207
|
+
if (isAbsolute3(reference)) return reference;
|
|
5208
|
+
const repoRelative = resolve7(repoRoot, reference);
|
|
5203
5209
|
if (existsSync9(repoRelative)) return repoRelative;
|
|
5204
|
-
return
|
|
5210
|
+
return resolve7(repoRoot, ".asset-scratch", reference);
|
|
5205
5211
|
}
|
|
5206
5212
|
function fileSize(path) {
|
|
5207
5213
|
if (!path || !existsSync9(path)) return void 0;
|
|
@@ -5656,7 +5662,7 @@ function getLineageSelectionPacket(project, options = {}) {
|
|
|
5656
5662
|
import { createHash as createHash6 } from "node:crypto";
|
|
5657
5663
|
import { spawnSync as spawnSync2 } from "node:child_process";
|
|
5658
5664
|
import { existsSync as existsSync10, lstatSync as lstatSync3, readFileSync as readFileSync5, readdirSync as readdirSync3, readlinkSync, realpathSync as realpathSync3, statSync as statSync6 } from "node:fs";
|
|
5659
|
-
import { dirname as dirname5, isAbsolute as
|
|
5665
|
+
import { dirname as dirname5, isAbsolute as isAbsolute4, join as join9, resolve as resolve8 } from "node:path";
|
|
5660
5666
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
5661
5667
|
|
|
5662
5668
|
// src/shared/runtimeInfoTypes.ts
|
|
@@ -5675,7 +5681,7 @@ function isLineagePackageRoot(root) {
|
|
|
5675
5681
|
}
|
|
5676
5682
|
function executingCodeRoot() {
|
|
5677
5683
|
const moduleDirectory = dirname5(fileURLToPath2(import.meta.url));
|
|
5678
|
-
const candidates = [
|
|
5684
|
+
const candidates = [resolve8(moduleDirectory, "../.."), resolve8(moduleDirectory, "..")];
|
|
5679
5685
|
const root = candidates.find(isLineagePackageRoot);
|
|
5680
5686
|
if (!root) throw new Error(`Unable to derive Lineage code root from executing module ${fileURLToPath2(import.meta.url)}`);
|
|
5681
5687
|
return canonicalRoot(root);
|
|
@@ -5688,7 +5694,7 @@ function canonicalRoot(root) {
|
|
|
5688
5694
|
try {
|
|
5689
5695
|
return realpathSync3(root);
|
|
5690
5696
|
} catch {
|
|
5691
|
-
return
|
|
5697
|
+
return resolve8(root);
|
|
5692
5698
|
}
|
|
5693
5699
|
}
|
|
5694
5700
|
function packageInfo(root = codeRoot) {
|
|
@@ -5788,7 +5794,7 @@ function readInstallReceipt(path, errors) {
|
|
|
5788
5794
|
return void 0;
|
|
5789
5795
|
}
|
|
5790
5796
|
let receipt;
|
|
5791
|
-
const receiptPath =
|
|
5797
|
+
const receiptPath = resolve8(path);
|
|
5792
5798
|
try {
|
|
5793
5799
|
receipt = JSON.parse(readFileSync5(receiptPath, "utf8"));
|
|
5794
5800
|
} catch (error) {
|
|
@@ -5796,7 +5802,7 @@ function readInstallReceipt(path, errors) {
|
|
|
5796
5802
|
return void 0;
|
|
5797
5803
|
}
|
|
5798
5804
|
if (receipt.schema_version !== lineageRuntimeInstallSchemaVersion) errors.push(`Unsupported runtime install receipt schema: ${String(receipt.schema_version)}`);
|
|
5799
|
-
if (!
|
|
5805
|
+
if (!isAbsolute4(receipt.package_root || "")) errors.push("Runtime install receipt package_root must be absolute");
|
|
5800
5806
|
if (!receipt.package_integrity?.startsWith("sha512-")) errors.push("Runtime install receipt package integrity is invalid");
|
|
5801
5807
|
if (receipt.package_source !== "registry" && receipt.package_source !== "local") errors.push("Runtime install receipt package source is invalid");
|
|
5802
5808
|
if (typeof receipt.package_spec !== "string" || !receipt.package_spec) errors.push("Runtime install receipt package spec is invalid");
|
|
@@ -6074,7 +6080,7 @@ var signalExitCodes = {
|
|
|
6074
6080
|
SIGTERM: 143
|
|
6075
6081
|
};
|
|
6076
6082
|
function packageRoot2() {
|
|
6077
|
-
return
|
|
6083
|
+
return resolve9(dirname6(fileURLToPath3(import.meta.url)), "..", "..");
|
|
6078
6084
|
}
|
|
6079
6085
|
function packageVersion() {
|
|
6080
6086
|
try {
|
|
@@ -6113,7 +6119,7 @@ function readOptions(args, name) {
|
|
|
6113
6119
|
}
|
|
6114
6120
|
function readJsonFile(path, label) {
|
|
6115
6121
|
try {
|
|
6116
|
-
return JSON.parse(readFileSync6(
|
|
6122
|
+
return JSON.parse(readFileSync6(resolve9(path), "utf8"));
|
|
6117
6123
|
} catch (error) {
|
|
6118
6124
|
throw new Error(`${label} must be a readable JSON file: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
6119
6125
|
}
|
|
@@ -6157,7 +6163,7 @@ function resolveStartOptions(config, args) {
|
|
|
6157
6163
|
};
|
|
6158
6164
|
}
|
|
6159
6165
|
function resolveCliAssetRoot(args) {
|
|
6160
|
-
return
|
|
6166
|
+
return resolve9(readOption(args, "--asset-root") || process.env.LINEAGE_ASSET_ROOT || packageRoot);
|
|
6161
6167
|
}
|
|
6162
6168
|
function configureCliAssetRoot(args) {
|
|
6163
6169
|
const assetRoot = resolveCliAssetRoot(args);
|
|
@@ -6189,10 +6195,10 @@ function prepareCliProfile(config, args) {
|
|
|
6189
6195
|
if (hasOption(args, "--db")) throw new Error("A named profile cannot be combined with --db");
|
|
6190
6196
|
if (hasOption(args, "--asset-root")) throw new Error("A named profile cannot be combined with --asset-root");
|
|
6191
6197
|
const profile = resolveLineageProfile(selector);
|
|
6192
|
-
if (process.env.LINEAGE_DB &&
|
|
6198
|
+
if (process.env.LINEAGE_DB && resolve9(process.env.LINEAGE_DB) !== profile.database_path) {
|
|
6193
6199
|
throw new Error(`Profile ${profile.profile_id} database_path conflicts with LINEAGE_DB`);
|
|
6194
6200
|
}
|
|
6195
|
-
if (process.env.LINEAGE_ASSET_ROOT &&
|
|
6201
|
+
if (process.env.LINEAGE_ASSET_ROOT && resolve9(process.env.LINEAGE_ASSET_ROOT) !== profile.asset_root) {
|
|
6196
6202
|
throw new Error(`Profile ${profile.profile_id} asset_root conflicts with LINEAGE_ASSET_ROOT`);
|
|
6197
6203
|
}
|
|
6198
6204
|
assertProfileChannel(profile, config.channel);
|
|
@@ -6293,7 +6299,7 @@ function lineageServiceIdentityErrors(runtime, expected) {
|
|
|
6293
6299
|
if (runtime.channel !== expected.channel) errors.push(`channel ${runtime.channel} != ${expected.channel}`);
|
|
6294
6300
|
if (!runtime.code?.verified) errors.push("service code identity is not verified");
|
|
6295
6301
|
if (runtime.code?.fingerprint !== expected.code_fingerprint) errors.push(`code fingerprint ${runtime.code?.fingerprint || "missing"} != ${expected.code_fingerprint}`);
|
|
6296
|
-
if (
|
|
6302
|
+
if (resolve9(runtime.database.path) !== resolve9(expected.database_path)) errors.push(`database ${runtime.database.path} != ${expected.database_path}`);
|
|
6297
6303
|
if (runtime.service?.instance_id !== expected.instance_id) errors.push(`service instance ${runtime.service?.instance_id || "missing"} != ${expected.instance_id}`);
|
|
6298
6304
|
if (runtime.service?.launcher_pid !== expected.launcher_pid) errors.push(`launcher pid ${runtime.service?.launcher_pid || "missing"} != ${expected.launcher_pid}`);
|
|
6299
6305
|
if (expected.profile) {
|
|
@@ -6388,7 +6394,7 @@ function runLineageDataCommand(command, args) {
|
|
|
6388
6394
|
});
|
|
6389
6395
|
const out = readOption(args, "--out");
|
|
6390
6396
|
if (out) {
|
|
6391
|
-
const outPath =
|
|
6397
|
+
const outPath = resolve9(out);
|
|
6392
6398
|
mkdirSync6(dirname6(outPath), { recursive: true });
|
|
6393
6399
|
writeFileSync4(outPath, `${JSON.stringify(packet, null, 2)}
|
|
6394
6400
|
`);
|