@pleri/olam-cli 0.1.135 → 0.1.136
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/commands/kg-build.d.ts +29 -31
- package/dist/commands/kg-build.d.ts.map +1 -1
- package/dist/commands/kg-build.js +102 -190
- package/dist/commands/kg-build.js.map +1 -1
- package/dist/commands/kg-service-container.d.ts.map +1 -1
- package/dist/commands/kg-service-container.js +10 -0
- package/dist/commands/kg-service-container.js.map +1 -1
- package/dist/commands/memory/start.d.ts.map +1 -1
- package/dist/commands/memory/start.js +6 -0
- package/dist/commands/memory/start.js.map +1 -1
- package/dist/image-digests.json +6 -6
- package/dist/index.js +324 -306
- package/dist/mcp-server.js +209 -51
- package/host-cp/src/plan-chat-secret.mjs +92 -0
- package/host-cp/src/plan-chat-service.mjs +271 -0
- package/package.json +1 -1
|
@@ -1,58 +1,56 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* olam kg build — pristine workspace KG build via
|
|
2
|
+
* `olam kg build` — pristine workspace KG build via kg-service `/build`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* kg-service-container-v2 Phase F (2026-05-14) migrates this command
|
|
5
|
+
* from the legacy host-side scratch-copy + docker-run-graphify pattern
|
|
6
|
+
* to a single HTTP POST to the always-running `olam-kg-service`
|
|
7
|
+
* container. The scratch-copy now happens INSIDE the container as root
|
|
8
|
+
* (no host UID permission issues), so multi-submodule workspaces with
|
|
9
|
+
* non-operator-owned `.git/objects/pack/*` files and broken symlinks
|
|
10
|
+
* build cleanly — closes Samuel's atlas-core failure from 2026-05-13.
|
|
5
11
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
12
|
+
* Flow:
|
|
13
|
+
* 1. Resolve workspace name + source path (cwd by default).
|
|
14
|
+
* 2. Translate cwd to container-side path under `/host-home/…`
|
|
15
|
+
* (kg-service container mounts $HOME read-only at /host-home).
|
|
16
|
+
* 3. POST {workspace, repo_path} to localhost:9997/build.
|
|
17
|
+
* 4. Server-side: cp source → /tmp/scratch (root-perms), graphify
|
|
18
|
+
* update, move output to /kg-data/<workspace>/graphify-out/, clean.
|
|
19
|
+
* 5. Write host-side freshness.json mirroring the server's response.
|
|
11
20
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* 5. Write freshness.json
|
|
21
|
+
* Failure modes surfaced with remedies:
|
|
22
|
+
* - kg-service not reachable → "run `olam services up`".
|
|
23
|
+
* - cwd not under $HOME → operator hint (mount path is $HOME:/host-home).
|
|
24
|
+
* - graphify timeout / failure / scratch_copy_failed → pass-through error.
|
|
17
25
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* scratch directory as the container's CWD. Streams stdout/stderr so
|
|
22
|
-
* the operator sees graphify's progress live.
|
|
23
|
-
*
|
|
24
|
-
* Risk T7 mitigation: every subprocess uses argv arrays (no shell
|
|
25
|
-
* interpolation); workspace names regex-validated via @olam/core's
|
|
26
|
-
* `validateWorkspaceName` (shipped A2); all resolved paths asserted to
|
|
27
|
-
* live under ~/.olam/ before any FS mutation.
|
|
26
|
+
* Out of scope (v1 behaviour retained):
|
|
27
|
+
* - Workspace-catalog lookup (deferred follow-on); cwd-as-source.
|
|
28
|
+
* - Watching / progress streaming — `/build` is synchronous, blocking.
|
|
28
29
|
*/
|
|
29
30
|
import type { Command } from 'commander';
|
|
30
31
|
interface KgBuildOptions {
|
|
31
|
-
readonly image?: string;
|
|
32
32
|
readonly json?: boolean;
|
|
33
33
|
}
|
|
34
34
|
interface FreshnessRecord {
|
|
35
35
|
readonly built_at: string;
|
|
36
36
|
readonly duration_ms: number;
|
|
37
37
|
readonly node_count: number | null;
|
|
38
|
-
readonly
|
|
38
|
+
readonly edge_count: number | null;
|
|
39
39
|
readonly workspace: string;
|
|
40
|
-
readonly
|
|
40
|
+
readonly graphify_path: 'container';
|
|
41
41
|
}
|
|
42
|
-
interface KgBuildResult {
|
|
42
|
+
export interface KgBuildResult {
|
|
43
43
|
readonly exitCode: number;
|
|
44
44
|
readonly freshness?: FreshnessRecord;
|
|
45
45
|
readonly outputDir?: string;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
* Programmatic entry point
|
|
49
|
-
*
|
|
48
|
+
* Programmatic entry point — exported so tests can drive without spawning
|
|
49
|
+
* a sub-process.
|
|
50
50
|
*/
|
|
51
51
|
export declare function runKgBuild(workspaceArg: string | undefined, options?: KgBuildOptions): Promise<KgBuildResult>;
|
|
52
52
|
/**
|
|
53
|
-
* `olam kg <subcommand>` group —
|
|
54
|
-
* v1 ships only `build`; `status` (C1) and `watch` (C2) layer in
|
|
55
|
-
* Phase C without restructuring the group.
|
|
53
|
+
* `olam kg <subcommand>` group — registers the kg subcommand tree.
|
|
56
54
|
*/
|
|
57
55
|
export declare function registerKg(program: Command): void;
|
|
58
56
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kg-build.d.ts","sourceRoot":"","sources":["../../src/commands/kg-build.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"kg-build.d.ts","sourceRoot":"","sources":["../../src/commands/kg-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;CACrC;AAOD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAqCD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAiFxB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBjD"}
|
|
@@ -1,36 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* olam kg build — pristine workspace KG build via
|
|
2
|
+
* `olam kg build` — pristine workspace KG build via kg-service `/build`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* kg-service-container-v2 Phase F (2026-05-14) migrates this command
|
|
5
|
+
* from the legacy host-side scratch-copy + docker-run-graphify pattern
|
|
6
|
+
* to a single HTTP POST to the always-running `olam-kg-service`
|
|
7
|
+
* container. The scratch-copy now happens INSIDE the container as root
|
|
8
|
+
* (no host UID permission issues), so multi-submodule workspaces with
|
|
9
|
+
* non-operator-owned `.git/objects/pack/*` files and broken symlinks
|
|
10
|
+
* build cleanly — closes Samuel's atlas-core failure from 2026-05-13.
|
|
5
11
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
12
|
+
* Flow:
|
|
13
|
+
* 1. Resolve workspace name + source path (cwd by default).
|
|
14
|
+
* 2. Translate cwd to container-side path under `/host-home/…`
|
|
15
|
+
* (kg-service container mounts $HOME read-only at /host-home).
|
|
16
|
+
* 3. POST {workspace, repo_path} to localhost:9997/build.
|
|
17
|
+
* 4. Server-side: cp source → /tmp/scratch (root-perms), graphify
|
|
18
|
+
* update, move output to /kg-data/<workspace>/graphify-out/, clean.
|
|
19
|
+
* 5. Write host-side freshness.json mirroring the server's response.
|
|
11
20
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* 5. Write freshness.json
|
|
21
|
+
* Failure modes surfaced with remedies:
|
|
22
|
+
* - kg-service not reachable → "run `olam services up`".
|
|
23
|
+
* - cwd not under $HOME → operator hint (mount path is $HOME:/host-home).
|
|
24
|
+
* - graphify timeout / failure / scratch_copy_failed → pass-through error.
|
|
17
25
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* scratch directory as the container's CWD. Streams stdout/stderr so
|
|
22
|
-
* the operator sees graphify's progress live.
|
|
23
|
-
*
|
|
24
|
-
* Risk T7 mitigation: every subprocess uses argv arrays (no shell
|
|
25
|
-
* interpolation); workspace names regex-validated via @olam/core's
|
|
26
|
-
* `validateWorkspaceName` (shipped A2); all resolved paths asserted to
|
|
27
|
-
* live under ~/.olam/ before any FS mutation.
|
|
26
|
+
* Out of scope (v1 behaviour retained):
|
|
27
|
+
* - Workspace-catalog lookup (deferred follow-on); cwd-as-source.
|
|
28
|
+
* - Watching / progress streaming — `/build` is synchronous, blocking.
|
|
28
29
|
*/
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import path from 'node:path';
|
|
30
|
+
import * as fs from 'node:fs';
|
|
31
|
+
import * as os from 'node:os';
|
|
32
|
+
import * as path from 'node:path';
|
|
32
33
|
import { kgPristinePath } from '@olam/core/src/kg/storage-paths.js';
|
|
33
34
|
import { validateWorkspaceName } from '@olam/core/src/world/workspace-name.js';
|
|
35
|
+
import { build as kgServiceBuild, KgServiceUnreachableError, } from '@olam/core/src/kg/kg-service-client.js';
|
|
34
36
|
import { printError, printInfo, printSuccess } from '../output.js';
|
|
35
37
|
import { registerKgStatusCommand } from './kg-status.js';
|
|
36
38
|
import { registerKgWatchCommand } from './kg-watch.js';
|
|
@@ -38,21 +40,10 @@ import { registerKgClassifyCommand } from './kg-classify.js';
|
|
|
38
40
|
import { registerKgDoctorCommand } from './kg-doctor.js';
|
|
39
41
|
import { registerKgInstallHookCommand } from './kg-install-hook.js';
|
|
40
42
|
import { registerKgUninstallHookCommand } from './kg-uninstall-hook.js';
|
|
41
|
-
const DEFAULT_DEVBOX_IMAGE = 'olam-devbox:latest';
|
|
42
43
|
/**
|
|
43
|
-
* Resolve workspace name + source path.
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* Workspace-name validation routes through `@olam/core`'s shipped
|
|
48
|
-
* `validateWorkspaceName` (A2); regex is NOT duplicated here. Risk T7
|
|
49
|
-
* mitigation is therefore the same single source of truth used by every
|
|
50
|
-
* other olam component that touches workspace names.
|
|
51
|
-
*
|
|
52
|
-
* Returns { name, sourcePath } where sourcePath is the directory we'll
|
|
53
|
-
* copy into the scratch. The future `~/.olam/workspaces/<name>.yaml`
|
|
54
|
-
* lookup (workspace catalog) is deferred to a follow-on PR; v1 uses
|
|
55
|
-
* the CWD-as-source convention.
|
|
44
|
+
* Resolve workspace name + source path. `name` defaults to the basename
|
|
45
|
+
* of the operator's cwd — the "build KG for the repo I'm in" common case.
|
|
46
|
+
* Validates the workspace name regex via @olam/core's single source of truth.
|
|
56
47
|
*/
|
|
57
48
|
function resolveWorkspace(arg) {
|
|
58
49
|
const cwd = process.cwd();
|
|
@@ -61,77 +52,30 @@ function resolveWorkspace(arg) {
|
|
|
61
52
|
return { name, sourcePath: cwd };
|
|
62
53
|
}
|
|
63
54
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const r = spawnSync('cp', ['-c', '-r', source + '/.', scratch], {
|
|
72
|
-
stdio: ['ignore', 'ignore', 'pipe'],
|
|
73
|
-
encoding: 'utf-8',
|
|
74
|
-
});
|
|
75
|
-
if (r.status === 0)
|
|
76
|
-
return 'cp-c-r-reflink';
|
|
77
|
-
// Falls through to plain copy if clonefile rejected (non-APFS volume,
|
|
78
|
-
// cross-device, etc.). Note the source `/.` to copy contents, not the
|
|
79
|
-
// dir itself, into scratch.
|
|
80
|
-
}
|
|
81
|
-
// Linux + macOS-non-APFS fallback. POSIX-portable.
|
|
82
|
-
const r = spawnSync('cp', ['-r', source + '/.', scratch], {
|
|
83
|
-
stdio: ['ignore', 'ignore', 'pipe'],
|
|
84
|
-
encoding: 'utf-8',
|
|
85
|
-
});
|
|
86
|
-
if (r.status !== 0) {
|
|
87
|
-
throw new Error(`cp -r failed: ${(r.stderr ?? '').trim() || r.error?.message}`);
|
|
88
|
-
}
|
|
89
|
-
return 'cp-r';
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Count nodes from graphify-out/. graph.json IS the source-of-truth
|
|
93
|
-
* artefact — we count `nodes` directly. GRAPH_REPORT.md is human-prose
|
|
94
|
-
* and could change wording across graphify versions; relying on its
|
|
95
|
-
* format is brittle. Falls back to null (not an error) if graph.json
|
|
96
|
-
* is missing or malformed — freshness.json carries the null and the
|
|
97
|
-
* build still succeeds.
|
|
55
|
+
* Translate a host-side absolute path to the container's view of the same
|
|
56
|
+
* file, given that kg-service mounts `$HOME:/host-home:ro`.
|
|
57
|
+
*
|
|
58
|
+
* /Users/ernie/Projects/atlas-core → /host-home/Projects/atlas-core
|
|
59
|
+
*
|
|
60
|
+
* Throws when the source path doesn't live under $HOME (kg-service can't
|
|
61
|
+
* see it). Operator hint surfaces the mount layout in the error message.
|
|
98
62
|
*/
|
|
99
|
-
function
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return Array.isArray(data.nodes) ? data.nodes.length : null;
|
|
107
|
-
}
|
|
108
|
-
catch {
|
|
109
|
-
return null;
|
|
63
|
+
function toContainerPath(hostPath) {
|
|
64
|
+
const home = os.homedir();
|
|
65
|
+
const resolved = path.resolve(hostPath);
|
|
66
|
+
if (!resolved.startsWith(home + path.sep) && resolved !== home) {
|
|
67
|
+
throw new Error(`source path "${resolved}" is not under $HOME (${home}). kg-service can only build ` +
|
|
68
|
+
`repos that live under your home dir (it bind-mounts $HOME:/host-home:ro at start). ` +
|
|
69
|
+
`Move the repo or set OLAM_HOME if you need a different root.`);
|
|
110
70
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
// pip show graphifyy | grep Version inside the devbox image — A1's
|
|
114
|
-
// canonical version probe (graphify CLI has no --version flag in
|
|
115
|
-
// 0.7.13). Failure here is non-fatal; freshness.json records 'unknown'.
|
|
116
|
-
const r = spawnSync('docker', [
|
|
117
|
-
'run',
|
|
118
|
-
'--rm',
|
|
119
|
-
'--entrypoint=/opt/graphify-venv/bin/pip',
|
|
120
|
-
image,
|
|
121
|
-
'show',
|
|
122
|
-
'graphifyy',
|
|
123
|
-
], { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'pipe'] });
|
|
124
|
-
if (r.status !== 0)
|
|
125
|
-
return 'unknown';
|
|
126
|
-
const m = (r.stdout ?? '').match(/^Version:\s*(\S+)/m);
|
|
127
|
-
return m?.[1] ?? 'unknown';
|
|
71
|
+
const rel = path.relative(home, resolved);
|
|
72
|
+
return rel === '' ? '/host-home' : path.posix.join('/host-home', rel.split(path.sep).join('/'));
|
|
128
73
|
}
|
|
129
74
|
/**
|
|
130
|
-
* Programmatic entry point
|
|
131
|
-
*
|
|
75
|
+
* Programmatic entry point — exported so tests can drive without spawning
|
|
76
|
+
* a sub-process.
|
|
132
77
|
*/
|
|
133
78
|
export async function runKgBuild(workspaceArg, options = {}) {
|
|
134
|
-
const image = options.image ?? DEFAULT_DEVBOX_IMAGE;
|
|
135
79
|
let workspace;
|
|
136
80
|
try {
|
|
137
81
|
workspace = resolveWorkspace(workspaceArg);
|
|
@@ -140,109 +84,77 @@ export async function runKgBuild(workspaceArg, options = {}) {
|
|
|
140
84
|
printError(err instanceof Error ? err.message : String(err));
|
|
141
85
|
return { exitCode: 2 };
|
|
142
86
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
87
|
+
let containerRepoPath;
|
|
88
|
+
try {
|
|
89
|
+
containerRepoPath = toContainerPath(workspace.sourcePath);
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
printError(err instanceof Error ? err.message : String(err));
|
|
93
|
+
return { exitCode: 2 };
|
|
94
|
+
}
|
|
95
|
+
// Resolve / pre-create the host-side output directory. kg-service writes
|
|
96
|
+
// graphify-out/ into /kg-data/<workspace>/, which is bind-mounted at
|
|
97
|
+
// start time to the OLAM_HOME-aware kgRoot(). We mirror that here so
|
|
98
|
+
// host-side `olam kg status` can read freshness.json without reaching
|
|
99
|
+
// into the container.
|
|
146
100
|
const outDir = kgPristinePath(workspace.name);
|
|
147
|
-
const scratchDir = path.join(outDir, 'scratch');
|
|
148
|
-
// Idempotent prep — leave any previous graphify-out/ in place until
|
|
149
|
-
// the new build succeeds, then atomically replace. If a prior scratch
|
|
150
|
-
// exists (interrupted build), clean it first.
|
|
151
101
|
fs.mkdirSync(outDir, { recursive: true });
|
|
152
|
-
if (fs.existsSync(scratchDir))
|
|
153
|
-
fs.rmSync(scratchDir, { recursive: true, force: true });
|
|
154
|
-
fs.mkdirSync(scratchDir);
|
|
155
102
|
const human = !options.json;
|
|
156
103
|
if (human) {
|
|
157
104
|
printInfo('kg build', `workspace=${workspace.name} source=${workspace.sourcePath}`);
|
|
158
|
-
printInfo('kg build',
|
|
105
|
+
printInfo('kg build', `→ kg-service /build (container path ${containerRepoPath}) → ${outDir}/graphify-out/`);
|
|
159
106
|
}
|
|
160
|
-
|
|
161
|
-
let scratchStrategy;
|
|
107
|
+
let resp;
|
|
162
108
|
try {
|
|
163
|
-
|
|
164
|
-
scratchStrategy = copyWorkspaceToScratch(workspace.sourcePath, scratchDir);
|
|
165
|
-
if (human)
|
|
166
|
-
printInfo('kg build', `copied via ${scratchStrategy}`);
|
|
167
|
-
// Phase: run graphify update inside the devbox container against scratch.
|
|
168
|
-
// No `--user 0:0` — let the image's USER (olam) own the writes so the
|
|
169
|
-
// scratch tree stays operator-cleanable in `finally` on Linux. On macOS
|
|
170
|
-
// colima/Docker-Desktop osxfs handles UID remapping; the container
|
|
171
|
-
// still writes through.
|
|
172
|
-
//
|
|
173
|
-
// stdio routing: --json mode suppresses container chatter via /dev/null
|
|
174
|
-
// so consumers piping `olam kg build --json | jq` get clean JSON. Human
|
|
175
|
-
// mode inherits stdio so the operator sees graphify's live progress.
|
|
176
|
-
const dockerArgs = [
|
|
177
|
-
'run',
|
|
178
|
-
'--rm',
|
|
179
|
-
'-v',
|
|
180
|
-
`${scratchDir}:/work`,
|
|
181
|
-
'-w',
|
|
182
|
-
'/work',
|
|
183
|
-
'--entrypoint=graphify',
|
|
184
|
-
image,
|
|
185
|
-
'update',
|
|
186
|
-
'.',
|
|
187
|
-
];
|
|
188
|
-
const r = human
|
|
189
|
-
? spawnSync('docker', dockerArgs, { stdio: 'inherit' })
|
|
190
|
-
: spawnSync('docker', dockerArgs, { stdio: ['ignore', 'ignore', 'pipe'] });
|
|
191
|
-
if (r.status !== 0) {
|
|
192
|
-
printError(`graphify update failed (exit ${r.status})`);
|
|
193
|
-
return { exitCode: r.status ?? 1 };
|
|
194
|
-
}
|
|
195
|
-
// Phase: extract — move scratch/graphify-out/ → outDir/graphify-out/
|
|
196
|
-
const scratchOut = path.join(scratchDir, 'graphify-out');
|
|
197
|
-
const finalOut = path.join(outDir, 'graphify-out');
|
|
198
|
-
if (!fs.existsSync(scratchOut)) {
|
|
199
|
-
printError(`graphify produced no graphify-out/ in scratch (${scratchOut})`);
|
|
200
|
-
return { exitCode: 1 };
|
|
201
|
-
}
|
|
202
|
-
if (fs.existsSync(finalOut))
|
|
203
|
-
fs.rmSync(finalOut, { recursive: true, force: true });
|
|
204
|
-
fs.renameSync(scratchOut, finalOut);
|
|
205
|
-
// Phase: freshness — write freshness.json
|
|
206
|
-
const durationMs = Date.now() - started;
|
|
207
|
-
const nodeCount = parseNodeCount(finalOut);
|
|
208
|
-
const version = readGraphifyVersion(image);
|
|
209
|
-
const freshness = {
|
|
210
|
-
built_at: new Date().toISOString(),
|
|
211
|
-
duration_ms: durationMs,
|
|
212
|
-
node_count: nodeCount,
|
|
213
|
-
graphify_version: version,
|
|
109
|
+
resp = await kgServiceBuild({
|
|
214
110
|
workspace: workspace.name,
|
|
215
|
-
|
|
216
|
-
};
|
|
217
|
-
fs.writeFileSync(path.join(outDir, 'freshness.json'), JSON.stringify(freshness, null, 2) + '\n', 'utf-8');
|
|
218
|
-
if (options.json) {
|
|
219
|
-
// JSON-only output to stdout; nothing else has touched stdout above.
|
|
220
|
-
process.stdout.write(JSON.stringify(freshness) + '\n');
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
printSuccess(`kg build ${workspace.name} — ${nodeCount ?? '?'} nodes in ${(durationMs / 1000).toFixed(1)}s (graphify ${version})`);
|
|
224
|
-
printInfo('output', `${finalOut}/graph.json`);
|
|
225
|
-
}
|
|
226
|
-
return { exitCode: 0, freshness, outputDir: finalOut };
|
|
111
|
+
repo_path: containerRepoPath,
|
|
112
|
+
});
|
|
227
113
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
114
|
+
catch (err) {
|
|
115
|
+
if (err instanceof KgServiceUnreachableError) {
|
|
116
|
+
printError(err.message);
|
|
117
|
+
printInfo('remedy', 'run `olam services up` to start kg-service, then re-run `olam kg build`.');
|
|
118
|
+
return { exitCode: 3 };
|
|
232
119
|
}
|
|
120
|
+
printError(`kg-service /build failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
121
|
+
return { exitCode: 1 };
|
|
122
|
+
}
|
|
123
|
+
if (!resp.ok) {
|
|
124
|
+
printError(`kg-service /build returned error: ${resp.error ?? 'unknown'}`);
|
|
125
|
+
return { exitCode: 1 };
|
|
126
|
+
}
|
|
127
|
+
// Mirror the server-authoritative freshness onto the host. The server
|
|
128
|
+
// already wrote /kg-data/<ws>/freshness.json, but writing again here
|
|
129
|
+
// keeps the host-side freshness contract identical to v1's shape for
|
|
130
|
+
// downstream consumers (kg-status, kg-watch) that haven't migrated.
|
|
131
|
+
const freshness = {
|
|
132
|
+
built_at: resp.built_at ?? new Date().toISOString(),
|
|
133
|
+
duration_ms: resp.duration_ms ?? 0,
|
|
134
|
+
node_count: resp.nodes ?? null,
|
|
135
|
+
edge_count: resp.edges ?? null,
|
|
136
|
+
workspace: workspace.name,
|
|
137
|
+
graphify_path: 'container',
|
|
138
|
+
};
|
|
139
|
+
fs.writeFileSync(path.join(outDir, 'freshness.json'), JSON.stringify(freshness, null, 2) + '\n', 'utf-8');
|
|
140
|
+
const finalOut = path.join(outDir, 'graphify-out');
|
|
141
|
+
if (options.json) {
|
|
142
|
+
process.stdout.write(JSON.stringify(freshness) + '\n');
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
printSuccess(`kg build ${workspace.name} — ${resp.nodes ?? '?'} nodes / ${resp.edges ?? '?'} edges in ${((resp.duration_ms ?? 0) / 1000).toFixed(1)}s (via kg-service container)`);
|
|
146
|
+
printInfo('output', `${finalOut}/graph.json`);
|
|
233
147
|
}
|
|
148
|
+
return { exitCode: 0, freshness, outputDir: finalOut };
|
|
234
149
|
}
|
|
235
150
|
/**
|
|
236
|
-
* `olam kg <subcommand>` group —
|
|
237
|
-
* v1 ships only `build`; `status` (C1) and `watch` (C2) layer in
|
|
238
|
-
* Phase C without restructuring the group.
|
|
151
|
+
* `olam kg <subcommand>` group — registers the kg subcommand tree.
|
|
239
152
|
*/
|
|
240
153
|
export function registerKg(program) {
|
|
241
|
-
const kg = program.command('kg').description('Knowledge-graph operations (
|
|
154
|
+
const kg = program.command('kg').description('Knowledge-graph operations (kg-service container)');
|
|
242
155
|
kg.command('build')
|
|
243
|
-
.description('Build pristine KG for a workspace (default: current dir).
|
|
156
|
+
.description('Build pristine KG for a workspace (default: current dir). Routes through olam-kg-service /build endpoint.')
|
|
244
157
|
.argument('[workspace]', 'workspace name (lowercase alphanumeric + hyphens/underscores)')
|
|
245
|
-
.option('--image <ref>', `devbox image to invoke (default: ${DEFAULT_DEVBOX_IMAGE})`)
|
|
246
158
|
.option('--json', 'emit freshness record as JSON instead of human-readable status')
|
|
247
159
|
.action(async (workspaceArg, opts) => {
|
|
248
160
|
const r = await runKgBuild(workspaceArg, opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kg-build.js","sourceRoot":"","sources":["../../src/commands/kg-build.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"kg-build.js","sourceRoot":"","sources":["../../src/commands/kg-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kg-service-container.d.ts","sourceRoot":"","sources":["../../src/commands/kg-service-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAC5D,eAAO,MAAM,wBAAwB,yCAAyC,CAAC;AAC/E,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD,eAAO,MAAM,qBAAqB,iCAA+C,CAAC;AAClF,eAAO,MAAM,uBAAuB,mCAAiD,CAAC;AAMtF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAMnD,KAAK,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAoBD,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAgC;IAEhD,MAAM,IAAI,eAAe;IAiBzB,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;;;;OAOG;IACH,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"kg-service-container.d.ts","sourceRoot":"","sources":["../../src/commands/kg-service-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAC5D,eAAO,MAAM,wBAAwB,yCAAyC,CAAC;AAC/E,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD,eAAO,MAAM,qBAAqB,iCAA+C,CAAC;AAClF,eAAO,MAAM,uBAAuB,mCAAiD,CAAC;AAMtF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAMnD,KAAK,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAoBD,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAgC;IAEhD,MAAM,IAAI,eAAe;IAiBzB,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;;;;OAOG;IACH,KAAK,IAAI,IAAI;IAgDb;;;;;OAKG;IACH,sBAAsB,IAAI,OAAO;IAQjC,IAAI,IAAI,IAAI;IAMZ,MAAM,IAAI,IAAI;IAId;;;;;OAKG;IACG,YAAY,CAAC,SAAS,SAA+B,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB9E;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAY/B"}
|
|
@@ -108,6 +108,16 @@ export class KgServiceContainerController {
|
|
|
108
108
|
'--add-host', 'host.docker.internal:host-gateway',
|
|
109
109
|
// Mount the operator's KG root (OLAM_HOME-aware) so /build can persist graphs.
|
|
110
110
|
'--volume', `${kgData}:${KG_SERVICE_VOLUME_TARGET}`,
|
|
111
|
+
// kg-service-container-v2 Phase F: read-only mount of $HOME so /build
|
|
112
|
+
// can ingest any project under the operator's home as the source repo.
|
|
113
|
+
// Read-only is sufficient: server-side scratch in /tmp/ holds the
|
|
114
|
+
// working copy + receives graphify's output before persisting to
|
|
115
|
+
// /kg-data. Operator's source tree is never written. Mount path
|
|
116
|
+
// `/host-home` is referenced by kg-build.ts when translating cwd
|
|
117
|
+
// → container-side path. Closes Samuel's multi-submodule cp-r bug
|
|
118
|
+
// by construction: copy runs INSIDE the container as root, not on
|
|
119
|
+
// the host with the operator's UID hitting locked .git/objects/pack/*.
|
|
120
|
+
'--volume', `${process.env.HOME ?? '/root'}:/host-home:ro`,
|
|
111
121
|
this.imageTag,
|
|
112
122
|
], { stdio: 'pipe' });
|
|
113
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kg-service-container.js","sourceRoot":"","sources":["../../src/commands/kg-service-container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kg-service-container.js","sourceRoot":"","sources":["../../src/commands/kg-service-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,sCAAsC,CAAC;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,eAAe,SAAS,CAAC;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,eAAe,WAAW,CAAC;AAEtF,8EAA8E;AAC9E,0EAA0E;AAC1E,+EAA+E;AAC/E,8BAA8B;AAC9B,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD,0EAA0E;AAC1E,mEAAmE;AACnE,MAAM,wBAAwB,GAAG,UAAU,CAAC;AAW5C;;;;;;;;;;;;;GAaG;AACH,SAAS,cAAc;IACrB,OAAO,kBAAkB,CAAC,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,OAAO,4BAA4B;IAC/B,QAAQ,GAAW,oBAAoB,CAAC;IAEhD,MAAM;QACJ,MAAM,CAAC,GAAG,SAAS,CACjB,QAAQ,EACR,CAAC,SAAS,EAAE,UAAU,EAAE,2BAA2B,EAAE,oBAAoB,CAAC,EAC1E,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,OAAO;gBACL,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACrD,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,EAAE;aAChB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ;QACrC,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,KAAK,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,wBAAwB,CAAC,EAAE,CAAC;YACvF,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,sCAAsC,oBAAoB,KAAK,kBAAkB,KAAK,wBAAwB,IAAI;YAChH,qHAAqH,CACxH,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;QACxC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAEhC,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,8DAA8D;QAC9D,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,YAAY,CACV,QAAQ,EACR;YACE,KAAK;YACL,UAAU;YACV,QAAQ,EAAE,oBAAoB;YAC9B,WAAW,EAAE,gBAAgB;YAC7B,wEAAwE;YACxE,WAAW,EAAE,aAAa,eAAe,IAAI,eAAe,EAAE;YAC9D,uEAAuE;YACvE,oEAAoE;YACpE,2EAA2E;YAC3E,YAAY,EAAE,mCAAmC;YACjD,+EAA+E;YAC/E,UAAU,EAAE,GAAG,MAAM,IAAI,wBAAwB,EAAE;YACnD,sEAAsE;YACtE,uEAAuE;YACvE,kEAAkE;YAClE,iEAAiE;YACjE,gEAAgE;YAChE,iEAAiE;YACjE,kEAAkE;YAClE,kEAAkE;YAClE,uEAAuE;YACvE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,gBAAgB;YAC1D,IAAI,CAAC,QAAQ;SACd,EACD,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,sBAAsB;QACpB,OAAO,CACL,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;YACvC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YACrC,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;QACxC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM;QACJ,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,SAAS,GAAG,4BAA4B;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvF,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAsC,CAAC;oBACrE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC;gBACvC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,uBAAuB,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;gBAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoHzC,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/memory/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoHzC,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAsGtD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAQtD"}
|
|
@@ -174,6 +174,12 @@ export async function runMemoryStart() {
|
|
|
174
174
|
env: {
|
|
175
175
|
...process.env,
|
|
176
176
|
AGENTMEMORY_SECRET: secret,
|
|
177
|
+
// Bind 0.0.0.0 so worlds inside Docker can reach the host service
|
|
178
|
+
// via `host.docker.internal:3111`. Defaults to 127.0.0.1 in the
|
|
179
|
+
// upstream iii-config, which would make the service host-only.
|
|
180
|
+
// The bearer-secret gate above prevents non-authed access from
|
|
181
|
+
// any other LAN host that can route to this machine.
|
|
182
|
+
AGENTMEMORY_HOST: '0.0.0.0',
|
|
177
183
|
PATH: `${OLAM_BIN_DIR}:${process.env.PATH ?? ''}`,
|
|
178
184
|
},
|
|
179
185
|
stdio: ['ignore', logFd, logFd],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/memory/start.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/memory/start.ts"],"names":[],"mappings":"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"}
|
package/dist/image-digests.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"auth": "sha256:
|
|
3
|
-
"devbox": "sha256:
|
|
4
|
-
"devbox-base": "sha256:
|
|
5
|
-
"host-cp": "sha256:
|
|
6
|
-
"mcp-auth": "sha256:
|
|
2
|
+
"auth": "sha256:47f58fad2635727a03382a75bbd0db3cd1357e18c4173f29302c8648c3a01d43",
|
|
3
|
+
"devbox": "sha256:be650e59173f67754df1ae543d8a5ee543cfc431ed8ae636e912c6441400959c",
|
|
4
|
+
"devbox-base": "sha256:78a8795dd68815f8e8f1077dd1e78d10c5b34765d96048f41e38c3a74f6658c5",
|
|
5
|
+
"host-cp": "sha256:08e7fbcd68bc23a24c579067ed2bd451c51cb4dff1e7940af2c743c88d5b7835",
|
|
6
|
+
"mcp-auth": "sha256:452b10df72ac8f7e8f249c171e068e51c7ca846a9b287df81e253b7df1169a95",
|
|
7
7
|
"$schema_version": 1,
|
|
8
|
-
"$published_version": "0.1.
|
|
8
|
+
"$published_version": "0.1.136",
|
|
9
9
|
"$registry": "ghcr.io/pleri"
|
|
10
10
|
}
|