@pleri/olam-cli 0.1.159 → 0.1.161
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/README.md +11 -0
- package/dist/agent-stream/agent-sdk-to-chunks.js +3 -0
- package/dist/agent-stream/driver-runner.js +9 -4
- package/dist/agent-stream/host-driver-launch.js +48 -0
- package/dist/commands/bootstrap.d.ts +15 -0
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +30 -1
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/flywheel/check-persona-skeleton.d.ts +30 -2
- package/dist/commands/flywheel/check-persona-skeleton.d.ts.map +1 -1
- package/dist/commands/flywheel/check-persona-skeleton.js +143 -6
- package/dist/commands/flywheel/check-persona-skeleton.js.map +1 -1
- package/dist/commands/flywheel/diversity-check.d.ts +12 -2
- package/dist/commands/flywheel/diversity-check.d.ts.map +1 -1
- package/dist/commands/flywheel/diversity-check.js +56 -6
- package/dist/commands/flywheel/diversity-check.js.map +1 -1
- package/dist/commands/flywheel/index.d.ts.map +1 -1
- package/dist/commands/flywheel/index.js +2 -0
- package/dist/commands/flywheel/index.js.map +1 -1
- package/dist/commands/flywheel/install-shims.d.ts +36 -3
- package/dist/commands/flywheel/install-shims.d.ts.map +1 -1
- package/dist/commands/flywheel/install-shims.js +118 -7
- package/dist/commands/flywheel/install-shims.js.map +1 -1
- package/dist/commands/flywheel/k10-measure.d.ts +12 -2
- package/dist/commands/flywheel/k10-measure.d.ts.map +1 -1
- package/dist/commands/flywheel/k10-measure.js +55 -6
- package/dist/commands/flywheel/k10-measure.js.map +1 -1
- package/dist/commands/flywheel/migrate-overlays.d.ts +115 -0
- package/dist/commands/flywheel/migrate-overlays.d.ts.map +1 -0
- package/dist/commands/flywheel/migrate-overlays.js +766 -0
- package/dist/commands/flywheel/migrate-overlays.js.map +1 -0
- package/dist/commands/flywheel/sanitize-persona-output.d.ts +33 -2
- package/dist/commands/flywheel/sanitize-persona-output.d.ts.map +1 -1
- package/dist/commands/flywheel/sanitize-persona-output.js +94 -6
- package/dist/commands/flywheel/sanitize-persona-output.js.map +1 -1
- package/dist/commands/memory/index.d.ts.map +1 -1
- package/dist/commands/memory/index.js +2 -0
- package/dist/commands/memory/index.js.map +1 -1
- package/dist/commands/memory/install-hooks.d.ts +22 -0
- package/dist/commands/memory/install-hooks.d.ts.map +1 -0
- package/dist/commands/memory/install-hooks.js +156 -0
- package/dist/commands/memory/install-hooks.js.map +1 -0
- package/dist/commands/skills-doctor.js +2 -2
- package/dist/commands/skills-doctor.js.map +1 -1
- package/dist/commands/skills-source.d.ts.map +1 -1
- package/dist/commands/skills-source.js +10 -0
- package/dist/commands/skills-source.js.map +1 -1
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +169 -1
- package/dist/commands/skills.js.map +1 -1
- package/dist/image-digests.json +7 -7
- package/dist/index.js +4361 -1768
- package/dist/lib/bootstrap-kubernetes.d.ts +42 -0
- package/dist/lib/bootstrap-kubernetes.d.ts.map +1 -0
- package/dist/lib/bootstrap-kubernetes.js +287 -0
- package/dist/lib/bootstrap-kubernetes.js.map +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +6 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/flywheel-probes.d.ts +58 -0
- package/dist/lib/flywheel-probes.d.ts.map +1 -0
- package/dist/lib/flywheel-probes.js +163 -0
- package/dist/lib/flywheel-probes.js.map +1 -0
- package/dist/lib/shim-generator.d.ts +51 -0
- package/dist/lib/shim-generator.d.ts.map +1 -0
- package/dist/lib/shim-generator.js +88 -0
- package/dist/lib/shim-generator.js.map +1 -0
- package/dist/lib/skills-apply-overlays.d.ts +35 -0
- package/dist/lib/skills-apply-overlays.d.ts.map +1 -0
- package/dist/lib/skills-apply-overlays.js +243 -0
- package/dist/lib/skills-apply-overlays.js.map +1 -0
- package/dist/mcp-server.js +1106 -453
- package/hermes-bundle/version.json +1 -1
- package/host-cp/k8s/manifests/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
- package/host-cp/k8s/manifests/memory-service/30-configmap.yaml +11 -0
- package/host-cp/k8s/manifests/memory-service/35-configmap-iii-config.yaml +76 -0
- package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +11 -1
- package/host-cp/observability/grafana-port-forward.sh +273 -0
- package/host-cp/observability/kyverno-cardinality-mutate.sh +452 -0
- package/host-cp/observability/loki-ingest.sh +243 -0
- package/host-cp/observability/prom-no-double-grafana.sh +301 -0
- package/host-cp/src/crystallize-planning.mjs +261 -0
- package/host-cp/src/plan-chat-service.mjs +84 -2
- package/host-cp/src/planning-sessions.mjs +270 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,6 +16,17 @@ olam --version
|
|
|
16
16
|
The installer publishes from npmjs.org. Requires **Node.js ≥ 20** and
|
|
17
17
|
`npm`. Track the prerelease tag with `OLAM_CHANNEL=canary`.
|
|
18
18
|
|
|
19
|
+
## Run modes
|
|
20
|
+
|
|
21
|
+
Olam ships in two substrate-aware run modes — the CLI routes every command (`bootstrap`, `services`, `upgrade`, `doctor`) to the right backend based on `~/.olam/config.json`'s `host.substrate` value.
|
|
22
|
+
|
|
23
|
+
| Mode | What runs | When to use | Bring up |
|
|
24
|
+
|---|---|---|---|
|
|
25
|
+
| **K3s** (default) | Full Kubernetes deployment on a local k3d cluster (`host-cp`, `auth-service`, `mcp-auth-service`, `kg-service`, `memory-service`) plus a `monitoring` namespace with kube-prometheus-stack + Loki + Grafana. | Same cluster topology olam runs in cloud/dogfood, ingress routing, observability dashboards, NetworkPolicy isolation. | `olam bootstrap` (or `olam bootstrap --auto-install` on macOS to also install missing brew formulae). Guide: [olam.bar.dev/wiki?p=k3s](https://olam.bar.dev/wiki?p=k3s) |
|
|
26
|
+
| **Compose** | 3 host containers (`olam-auth`, `olam-mcp-auth`, `olam-kg-service`) brought up via docker compose. | Lighter setup for hosts that can't run a Kubernetes cluster locally, or for CI. | `olam init && olam config set host.substrate compose && olam bootstrap`. Guide: [olam.bar.dev/wiki?p=setup](https://olam.bar.dev/wiki?p=setup) |
|
|
27
|
+
|
|
28
|
+
K3s mode requires `k3d`, `kubectl`, `helm`, `gh`, and `docker` — the CLI's preflight detects missing tools and (with `--auto-install`) installs them via brew on macOS. Full prereq list at [olam.bar.dev/wiki?p=k3s](https://olam.bar.dev/wiki?p=k3s).
|
|
29
|
+
|
|
19
30
|
## Wire the MCP server into Claude Code
|
|
20
31
|
|
|
21
32
|
Olam ships an MCP server with `olam_create`, `olam_dispatch`,
|
|
@@ -213,6 +213,7 @@ function blockToChunkDraft(block, ctx) {
|
|
|
213
213
|
seq: ctx.seq,
|
|
214
214
|
role: 'assistant',
|
|
215
215
|
kind: 'text',
|
|
216
|
+
chunk_type: 'text',
|
|
216
217
|
chunk: text,
|
|
217
218
|
created_at: ctx.createdAt,
|
|
218
219
|
};
|
|
@@ -226,6 +227,7 @@ function blockToChunkDraft(block, ctx) {
|
|
|
226
227
|
seq: ctx.seq,
|
|
227
228
|
role: 'tool',
|
|
228
229
|
kind: 'tool-call',
|
|
230
|
+
chunk_type: 'tool_use',
|
|
229
231
|
chunk: JSON.stringify({
|
|
230
232
|
tool_use_id: tool.id,
|
|
231
233
|
name: tool.name,
|
|
@@ -244,6 +246,7 @@ function blockToChunkDraft(block, ctx) {
|
|
|
244
246
|
seq: ctx.seq,
|
|
245
247
|
role: 'assistant',
|
|
246
248
|
kind: 'text',
|
|
249
|
+
chunk_type: 'text',
|
|
247
250
|
chunk: JSON.stringify(block),
|
|
248
251
|
created_at: ctx.createdAt,
|
|
249
252
|
};
|
|
@@ -83,6 +83,10 @@ export const DEFAULT_SYSTEM_PROMPT_APPEND = `You are the driver agent inside an
|
|
|
83
83
|
*/
|
|
84
84
|
export function buildSdkOptions(input) {
|
|
85
85
|
const driverToolsEnabled = process.env.AGENT_DRIVER_TOOLS_ENABLED === '1';
|
|
86
|
+
const baseAllowedTools = [];
|
|
87
|
+
const allowedTools = input.extraAllowedTools
|
|
88
|
+
? [...baseAllowedTools, ...input.extraAllowedTools]
|
|
89
|
+
: baseAllowedTools;
|
|
86
90
|
return {
|
|
87
91
|
systemPrompt: {
|
|
88
92
|
type: 'preset',
|
|
@@ -90,7 +94,7 @@ export function buildSdkOptions(input) {
|
|
|
90
94
|
...(input.systemPromptAppend ? { append: input.systemPromptAppend } : {}),
|
|
91
95
|
},
|
|
92
96
|
// Empty allowlist = strict coordinator (no tools); undefined = full preset tools.
|
|
93
|
-
...(driverToolsEnabled ? {} : { allowedTools
|
|
97
|
+
...(driverToolsEnabled ? {} : { allowedTools }),
|
|
94
98
|
effort: 'low',
|
|
95
99
|
thinking: { type: 'disabled' },
|
|
96
100
|
model: 'claude-sonnet-4-6',
|
|
@@ -110,7 +114,7 @@ export function buildSdkOptions(input) {
|
|
|
110
114
|
* - The `prompt` is passed through unchanged.
|
|
111
115
|
*/
|
|
112
116
|
export function createSdkQuery(query) {
|
|
113
|
-
return ({ prompt, abortSignal, systemPromptAppend }) => {
|
|
117
|
+
return ({ prompt, abortSignal, systemPromptAppend, extraAllowedTools }) => {
|
|
114
118
|
// eslint-disable-next-line no-console
|
|
115
119
|
console.error(`[driver] sdkQuery fired (prompt: ${typeof prompt === 'string' ? `${prompt.length} chars` : 'AsyncIterable<SdkUserMessage>'})`);
|
|
116
120
|
// Forward the runDriver-owned abortSignal to a fresh AbortController
|
|
@@ -126,7 +130,7 @@ export function createSdkQuery(query) {
|
|
|
126
130
|
});
|
|
127
131
|
}
|
|
128
132
|
const options = {
|
|
129
|
-
...buildSdkOptions({ systemPromptAppend }),
|
|
133
|
+
...buildSdkOptions({ systemPromptAppend, extraAllowedTools }),
|
|
130
134
|
abortController: sdkAbortController,
|
|
131
135
|
};
|
|
132
136
|
return query({ prompt, options });
|
|
@@ -139,7 +143,7 @@ export function createSdkQuery(query) {
|
|
|
139
143
|
* (SIGTERM via the supervisor → the abortSignal here).
|
|
140
144
|
*/
|
|
141
145
|
export function runDriver(opts) {
|
|
142
|
-
const { hostCpUrl, bearer, worldId, sessionId, systemPromptAppend = DEFAULT_SYSTEM_PROMPT_APPEND, sdkQuery, abortSignal: externalSignal, subscribeImpl = subscribeToChunks, postChunkImpl = (url, b) => makeHostCpChunkPoster({ sidecarUrl: url, bearer: b }), } = opts;
|
|
146
|
+
const { hostCpUrl, bearer, worldId, sessionId, systemPromptAppend = DEFAULT_SYSTEM_PROMPT_APPEND, extraAllowedTools, sdkQuery, abortSignal: externalSignal, subscribeImpl = subscribeToChunks, postChunkImpl = (url, b) => makeHostCpChunkPoster({ sidecarUrl: url, bearer: b }), } = opts;
|
|
143
147
|
const controller = new AbortController();
|
|
144
148
|
if (externalSignal) {
|
|
145
149
|
if (externalSignal.aborted)
|
|
@@ -241,6 +245,7 @@ export function runDriver(opts) {
|
|
|
241
245
|
prompt: userMessageStream(),
|
|
242
246
|
abortSignal: signal,
|
|
243
247
|
systemPromptAppend,
|
|
248
|
+
extraAllowedTools,
|
|
244
249
|
});
|
|
245
250
|
await streamMultiTurnSdkToChunks({
|
|
246
251
|
messages,
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* host-driver-launch.ts — Phase J J4 thin host-side launcher for the
|
|
3
|
+
* planning-driver.
|
|
4
|
+
*
|
|
5
|
+
* HOST_DRIVER_CONTRACT: this module ONLY overrides the launch path —
|
|
6
|
+
* every agent logic decision delegates to `runDriver()` in
|
|
7
|
+
* driver-runner.ts. Adding a new options field or behavioural branch
|
|
8
|
+
* here is a code-smell; extend `DriverRunnerOptions` instead so the
|
|
9
|
+
* world-side path inherits.
|
|
10
|
+
*
|
|
11
|
+
* Why a separate launcher: `runDriver`'s `main()` entry reads
|
|
12
|
+
* `WORLD_ID` / `SESSION_ID` / `HOST_CP_URL` / `HOST_CP_BEARER` from
|
|
13
|
+
* env and `await import('@anthropic-ai/claude-agent-sdk')`. That shape
|
|
14
|
+
* suits the supervisor-fork-into-devbox path; on the host process
|
|
15
|
+
* we already have those values in JS scope (no env injection across
|
|
16
|
+
* a container boundary), so we bypass `main()` and call `runDriver()`
|
|
17
|
+
* directly with the planning-agent system-prompt-append default.
|
|
18
|
+
*/
|
|
19
|
+
import { PLANNING_SYSTEM_PROMPT } from '../prompts/planning-agent.js';
|
|
20
|
+
import { runDriver, } from './driver-runner.js';
|
|
21
|
+
/**
|
|
22
|
+
* Launch a planning-driver in the host process. Delegates everything
|
|
23
|
+
* substantive to `runDriver`; this function only translates the
|
|
24
|
+
* host-side options shape into `DriverRunnerOptions` (defaulting
|
|
25
|
+
* `systemPromptAppend` to the planning prompt) and bypasses `main()`'s
|
|
26
|
+
* env-var fork.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Phase I I0 — planning-side widened tool allowlist.
|
|
30
|
+
* The in-world supervisor path never sets extraAllowedTools (stays `[]` per
|
|
31
|
+
* Decision D10). The planning-side driver defaults to including mcp__linear__*
|
|
32
|
+
* so operators with a local Linear MCP server can ingest tickets without
|
|
33
|
+
* configuring anything extra beyond the standard Linear MCP setup.
|
|
34
|
+
*/
|
|
35
|
+
export const PLANNING_DRIVER_EXTRA_ALLOWED_TOOLS = ['mcp__linear__*'];
|
|
36
|
+
export function launchHostDriver(opts) {
|
|
37
|
+
return runDriver({
|
|
38
|
+
worldId: opts.worldId,
|
|
39
|
+
sessionId: opts.sessionId,
|
|
40
|
+
hostCpUrl: opts.hostCpUrl,
|
|
41
|
+
bearer: opts.bearer,
|
|
42
|
+
sdkQuery: opts.sdkQuery,
|
|
43
|
+
systemPromptAppend: opts.systemPromptAppend ?? PLANNING_SYSTEM_PROMPT,
|
|
44
|
+
extraAllowedTools: opts.extraAllowedTools ?? PLANNING_DRIVER_EXTRA_ALLOWED_TOOLS,
|
|
45
|
+
abortSignal: opts.abortSignal,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=host-driver-launch.js.map
|
|
@@ -63,6 +63,14 @@ export interface BootstrapOpts {
|
|
|
63
63
|
/** Skip olam-kg-service pull + start (Phase B of olam-kg-service-container-v2). */
|
|
64
64
|
readonly skipKgService?: boolean;
|
|
65
65
|
readonly registry?: string;
|
|
66
|
+
/** k3d cluster name (default: olam-host). */
|
|
67
|
+
readonly k3sCluster?: string;
|
|
68
|
+
/** Auto-install missing tools via brew on macOS. */
|
|
69
|
+
readonly autoInstall?: boolean;
|
|
70
|
+
/** Skip the observability stack install (Loki + Promtail + Grafana + Prom + Kyverno). */
|
|
71
|
+
readonly skipObservability?: boolean;
|
|
72
|
+
/** Cluster already exists; skip k3d cluster create. */
|
|
73
|
+
readonly skipClusterCreate?: boolean;
|
|
66
74
|
}
|
|
67
75
|
/** Image-digests.json schema validation + load. */
|
|
68
76
|
export declare function loadImageDigests(installRootDir?: string): ImageDigests;
|
|
@@ -76,6 +84,13 @@ export interface BootstrapDeps {
|
|
|
76
84
|
readonly registry?: string;
|
|
77
85
|
/** Subprocess shell-out for `olam <command>` (host-cp/auth). Default: real spawnSync. */
|
|
78
86
|
readonly runOlamSubcommand?: (args: readonly string[]) => DockerCommandResult;
|
|
87
|
+
/**
|
|
88
|
+
* Override the config path the substrate-dispatch reads. Tests pin
|
|
89
|
+
* `host.substrate: 'compose'` via this hook so the bootstrap flow stays
|
|
90
|
+
* on the compose path even after the package-wide default flipped to
|
|
91
|
+
* 'kubernetes' (feat/cli-bootstrap-k3s-default).
|
|
92
|
+
*/
|
|
93
|
+
readonly configPath?: string;
|
|
79
94
|
}
|
|
80
95
|
export declare function runBootstrap(opts: BootstrapOpts, deps?: BootstrapDeps): Promise<BootstrapResult>;
|
|
81
96
|
export declare function registerBootstrap(program: Command): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAiBxB,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,iFAAiF;IACjF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC;wFACoF;IACpF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,yFAAyF;IACzF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,uDAAuD;IACvD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,cAAc,GAAE,MAAsB,GAAG,YAAY,CA2BrF;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,mBAAmB,CAAC;IAC9E;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAiBD,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,eAAe,CAAC,CAsV1B;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuDxD"}
|
|
@@ -36,6 +36,8 @@ import { installRoot } from '../install-root.js';
|
|
|
36
36
|
import { EXIT_BOOTSTRAP_PULL_FAILED, EXIT_GENERIC_ERROR, EXIT_PROTOCOL_MISMATCH, } from '../exit-codes.js';
|
|
37
37
|
import { checkProtocolOverlap, parseProtocolVersionsLabel } from '../protocol-version.js';
|
|
38
38
|
import { printError, printSuccess, printInfo, printHeader } from '../output.js';
|
|
39
|
+
import { readConfig } from '../lib/config.js';
|
|
40
|
+
import { runBootstrapKubernetes, DEFAULT_K3S_CLUSTER } from '../lib/bootstrap-kubernetes.js';
|
|
39
41
|
// Re-export so existing call sites (upgrade.ts, auth-upgrade.ts, tests)
|
|
40
42
|
// keep importing from `./bootstrap.js` unchanged. The implementation
|
|
41
43
|
// moved to @olam/adapters/docker/pull.ts so the adapter layer can
|
|
@@ -83,6 +85,20 @@ const REAL_OLAM_SUBCOMMAND = (args) => {
|
|
|
83
85
|
};
|
|
84
86
|
};
|
|
85
87
|
export async function runBootstrap(opts, deps = {}) {
|
|
88
|
+
// Substrate-aware dispatch. k3s is the default substrate as of
|
|
89
|
+
// feat/cli-bootstrap-k3s-default; compose remains supported for existing
|
|
90
|
+
// installs whose ~/.olam/config.json still declares substrate=compose.
|
|
91
|
+
const cfg = readConfig(deps.configPath ? { configPath: deps.configPath } : {});
|
|
92
|
+
if (cfg.host.substrate === 'kubernetes') {
|
|
93
|
+
const k8s = await runBootstrapKubernetes({
|
|
94
|
+
cluster: opts.k3sCluster ?? DEFAULT_K3S_CLUSTER,
|
|
95
|
+
autoInstall: opts.autoInstall ?? false,
|
|
96
|
+
skipObservability: opts.skipObservability ?? false,
|
|
97
|
+
skipClusterCreate: opts.skipClusterCreate ?? false,
|
|
98
|
+
});
|
|
99
|
+
return { exitCode: k8s.exitCode, summary: k8s.summary };
|
|
100
|
+
}
|
|
101
|
+
// Compose substrate — existing flow.
|
|
86
102
|
const docker = deps.docker ?? realDocker;
|
|
87
103
|
const digests = deps.digests ?? loadImageDigests();
|
|
88
104
|
const registry = opts.registry ?? deps.registry ?? digests.$registry ?? 'ghcr.io/pleri';
|
|
@@ -382,13 +398,22 @@ export async function runBootstrap(opts, deps = {}) {
|
|
|
382
398
|
export function registerBootstrap(program) {
|
|
383
399
|
program
|
|
384
400
|
.command('bootstrap')
|
|
385
|
-
.description('Bootstrap the olam stack:
|
|
401
|
+
.description('Bootstrap the olam stack. Substrate-aware: on kubernetes (default), ' +
|
|
402
|
+
'detects tools, generates secrets, creates a k3d cluster, installs ' +
|
|
403
|
+
'observability (Loki + Promtail + Grafana + Prometheus + Kyverno), ' +
|
|
404
|
+
'and applies all peripheral manifests. On compose, pulls 3 images by ' +
|
|
405
|
+
'digest + starts host-cp + auth + runs auth login.')
|
|
386
406
|
.option('--with-smoke', 'After bootstrap, create a smoke-test world to verify end-to-end')
|
|
387
407
|
.option('--skip-auth-login', 'Skip the interactive PKCE step (CI / scripted use only)')
|
|
388
408
|
.option('--skip-postgres-singleton', 'Skip the olam-postgres singleton bring-up (operators with host postgres opt-out, or CI)')
|
|
389
409
|
.option('--skip-memory', 'Skip the agent-memory Docker container bring-up (CI / scripted use, or hosts without Docker)')
|
|
390
410
|
.option('--skip-kg-service', 'Skip the olam-kg-service container pull + start (classifier-augmented retrieval; v2 feature)')
|
|
391
411
|
.option('--registry <ref>', 'Override the registry prefix (default: read from image-digests.json or fall back to ghcr.io/pleri)')
|
|
412
|
+
// ── k3s substrate options ─────────────────────────────────────────
|
|
413
|
+
.option('--k3s-cluster <name>', `[k3s] k3d cluster name (default: ${DEFAULT_K3S_CLUSTER})`, DEFAULT_K3S_CLUSTER)
|
|
414
|
+
.option('--auto-install', '[k3s] auto-install missing tools via brew on macOS', false)
|
|
415
|
+
.option('--skip-observability', '[k3s] skip Loki/Promtail/Grafana/Prom install (already in place)', false)
|
|
416
|
+
.option('--skip-cluster-create', '[k3s] cluster already exists; install substrate only', false)
|
|
392
417
|
.action(async (opts) => {
|
|
393
418
|
try {
|
|
394
419
|
const result = await runBootstrap({
|
|
@@ -398,6 +423,10 @@ export function registerBootstrap(program) {
|
|
|
398
423
|
skipMemory: opts.skipMemory === true,
|
|
399
424
|
skipKgService: opts.skipKgService === true,
|
|
400
425
|
registry: opts.registry,
|
|
426
|
+
k3sCluster: opts.k3sCluster,
|
|
427
|
+
autoInstall: opts.autoInstall === true,
|
|
428
|
+
skipObservability: opts.skipObservability === true,
|
|
429
|
+
skipClusterCreate: opts.skipClusterCreate === true,
|
|
401
430
|
});
|
|
402
431
|
process.exitCode = result.exitCode;
|
|
403
432
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `olam flywheel check-persona-skeleton` —
|
|
3
|
-
*
|
|
2
|
+
* `olam flywheel check-persona-skeleton` — D12 skeleton conformance checker.
|
|
3
|
+
*
|
|
4
|
+
* Port of `shared/engineering/scripts/check-persona-skeleton.py`. Validates
|
|
5
|
+
* persona-file conformance:
|
|
6
|
+
* 1. Frontmatter has `name`, `description`, `allowed-tools`.
|
|
7
|
+
* 2-5. Body has `## Role`, `## Cognitive patterns`, `## Scoring rubric`,
|
|
8
|
+
* `## Output format`.
|
|
9
|
+
* 6. `## Cognitive patterns` has ≥5 named patterns (### headings or bullets).
|
|
10
|
+
* 7. Token count (chars/4 approx) ≤ K10 cap (6000).
|
|
11
|
+
*
|
|
12
|
+
* Note on merged-result measurement: the Python predecessor imports
|
|
13
|
+
* apply-overlays.py's `merge_markdown` to measure overlay+upstream merged
|
|
14
|
+
* results. This TypeScript port currently measures STANDALONE only — overlay
|
|
15
|
+
* files needing merged-result measurement emit a warning + are checked
|
|
16
|
+
* against their standalone content. The merge-aware measurement lands when
|
|
17
|
+
* Phase A step 9 (apply-overlays port) ships; see follow-up task A7-merge.
|
|
18
|
+
*
|
|
19
|
+
* CLI:
|
|
20
|
+
* olam flywheel check-persona-skeleton <file> [<file> ...]
|
|
21
|
+
* Exit 0 = all PASS; Exit 1 = any FAIL.
|
|
22
|
+
*
|
|
23
|
+
* Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-a-tasks.md § A7
|
|
4
24
|
*/
|
|
5
25
|
import type { Command } from 'commander';
|
|
26
|
+
interface CheckResult {
|
|
27
|
+
passed: boolean;
|
|
28
|
+
failures: string[];
|
|
29
|
+
tokens: number;
|
|
30
|
+
mergedSkipped: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare function checkFile(filepath: string): CheckResult;
|
|
6
33
|
export declare function registerFlywheelCheckPersonaSkeleton(parent: Command): void;
|
|
34
|
+
export {};
|
|
7
35
|
//# sourceMappingURL=check-persona-skeleton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-persona-skeleton.d.ts","sourceRoot":"","sources":["../../../src/commands/flywheel/check-persona-skeleton.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"check-persona-skeleton.d.ts","sourceRoot":"","sources":["../../../src/commands/flywheel/check-persona-skeleton.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDzC,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAoDvD;AAED,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA4B1E"}
|
|
@@ -1,14 +1,151 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `olam flywheel check-persona-skeleton` —
|
|
3
|
-
*
|
|
2
|
+
* `olam flywheel check-persona-skeleton` — D12 skeleton conformance checker.
|
|
3
|
+
*
|
|
4
|
+
* Port of `shared/engineering/scripts/check-persona-skeleton.py`. Validates
|
|
5
|
+
* persona-file conformance:
|
|
6
|
+
* 1. Frontmatter has `name`, `description`, `allowed-tools`.
|
|
7
|
+
* 2-5. Body has `## Role`, `## Cognitive patterns`, `## Scoring rubric`,
|
|
8
|
+
* `## Output format`.
|
|
9
|
+
* 6. `## Cognitive patterns` has ≥5 named patterns (### headings or bullets).
|
|
10
|
+
* 7. Token count (chars/4 approx) ≤ K10 cap (6000).
|
|
11
|
+
*
|
|
12
|
+
* Note on merged-result measurement: the Python predecessor imports
|
|
13
|
+
* apply-overlays.py's `merge_markdown` to measure overlay+upstream merged
|
|
14
|
+
* results. This TypeScript port currently measures STANDALONE only — overlay
|
|
15
|
+
* files needing merged-result measurement emit a warning + are checked
|
|
16
|
+
* against their standalone content. The merge-aware measurement lands when
|
|
17
|
+
* Phase A step 9 (apply-overlays port) ships; see follow-up task A7-merge.
|
|
18
|
+
*
|
|
19
|
+
* CLI:
|
|
20
|
+
* olam flywheel check-persona-skeleton <file> [<file> ...]
|
|
21
|
+
* Exit 0 = all PASS; Exit 1 = any FAIL.
|
|
22
|
+
*
|
|
23
|
+
* Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-a-tasks.md § A7
|
|
4
24
|
*/
|
|
25
|
+
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
26
|
+
import { homedir } from 'node:os';
|
|
27
|
+
import { basename, join } from 'node:path';
|
|
28
|
+
import { parse as parseYAML } from 'yaml';
|
|
29
|
+
const CHARS_PER_TOKEN = 4;
|
|
30
|
+
const K10_TOKEN_CAP = 6000;
|
|
31
|
+
const AGENTS_DIR = join(homedir(), '.claude', 'agents');
|
|
32
|
+
const REQUIRED_FRONTMATTER_KEYS = ['name', 'description', 'allowed-tools'];
|
|
33
|
+
const REQUIRED_SECTIONS = [
|
|
34
|
+
'## Role',
|
|
35
|
+
'## Cognitive patterns',
|
|
36
|
+
'## Scoring rubric',
|
|
37
|
+
'## Output format',
|
|
38
|
+
];
|
|
39
|
+
function parseFile(text) {
|
|
40
|
+
const cleaned = text.replace(/^/, '');
|
|
41
|
+
if (!cleaned.startsWith('---'))
|
|
42
|
+
return { fm: {}, body: cleaned };
|
|
43
|
+
const closeIdx = cleaned.indexOf('\n---', 3);
|
|
44
|
+
if (closeIdx === -1)
|
|
45
|
+
return { fm: {}, body: cleaned };
|
|
46
|
+
const fmRaw = cleaned.slice(4, closeIdx);
|
|
47
|
+
const body = cleaned.slice(closeIdx + 4).replace(/^\n/, '');
|
|
48
|
+
try {
|
|
49
|
+
const fm = parseYAML(fmRaw) ?? {};
|
|
50
|
+
return { fm, body };
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return { fm: {}, body };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function countH2(body, heading) {
|
|
57
|
+
const escaped = heading.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
58
|
+
const pattern = new RegExp(`^${escaped}\\s*$`, 'gm');
|
|
59
|
+
return (body.match(pattern) ?? []).length;
|
|
60
|
+
}
|
|
61
|
+
function sectionBody(body, heading) {
|
|
62
|
+
const escaped = heading.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
63
|
+
const pattern = new RegExp(`^${escaped}\\s*\\n([\\s\\S]*?)(?=^## |$(?![\\r\\n]))`, 'm');
|
|
64
|
+
const match = body.match(pattern);
|
|
65
|
+
return match?.[1] ?? '';
|
|
66
|
+
}
|
|
67
|
+
function countNamedPatterns(sectionText) {
|
|
68
|
+
const h3Count = (sectionText.match(/^###\s+\S/gm) ?? []).length;
|
|
69
|
+
if (h3Count >= 5)
|
|
70
|
+
return h3Count;
|
|
71
|
+
const bulletCount = (sectionText.match(/^\s*[-*]\s+\S/gm) ?? []).length;
|
|
72
|
+
return Math.max(h3Count, bulletCount);
|
|
73
|
+
}
|
|
74
|
+
export function checkFile(filepath) {
|
|
75
|
+
if (!existsSync(filepath) || !statSync(filepath).isFile()) {
|
|
76
|
+
return { passed: false, failures: [`file not found: ${filepath}`], tokens: 0, mergedSkipped: false };
|
|
77
|
+
}
|
|
78
|
+
const text = readFileSync(filepath, 'utf8');
|
|
79
|
+
const { fm, body } = parseFile(text);
|
|
80
|
+
const failures = [];
|
|
81
|
+
// 1. Frontmatter required keys.
|
|
82
|
+
for (const key of REQUIRED_FRONTMATTER_KEYS) {
|
|
83
|
+
const val = fm[key];
|
|
84
|
+
if (val === undefined || val === null || val === '') {
|
|
85
|
+
failures.push(`frontmatter missing \`${key}:\``);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Determine whether to attempt merged measurement.
|
|
89
|
+
const isNewAgent = fm['overlay-intent'] === 'new-agent';
|
|
90
|
+
const agentName = typeof fm.name === 'string' ? fm.name : '';
|
|
91
|
+
let mergedSkipped = false;
|
|
92
|
+
if (!isNewAgent && agentName !== '') {
|
|
93
|
+
const upstreamPath = join(AGENTS_DIR, `${agentName}.md`);
|
|
94
|
+
if (existsSync(upstreamPath)) {
|
|
95
|
+
// Merged-result measurement requires A9 apply-overlays port.
|
|
96
|
+
// For now: warn + fall back to standalone measurement.
|
|
97
|
+
mergedSkipped = true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// 2-5. Required sections.
|
|
101
|
+
for (const heading of REQUIRED_SECTIONS) {
|
|
102
|
+
if (countH2(body, heading) === 0) {
|
|
103
|
+
failures.push(`missing section: '${heading}'`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// 6. ≥5 named patterns.
|
|
107
|
+
const cogBody = sectionBody(body, '## Cognitive patterns');
|
|
108
|
+
if (cogBody !== '') {
|
|
109
|
+
const patternCount = countNamedPatterns(cogBody);
|
|
110
|
+
if (patternCount < 5) {
|
|
111
|
+
failures.push(`'## Cognitive patterns' has ${patternCount} named pattern(s); need >= 5`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// 7. Token cap.
|
|
115
|
+
const tokens = Math.floor(text.length / CHARS_PER_TOKEN);
|
|
116
|
+
if (tokens > K10_TOKEN_CAP) {
|
|
117
|
+
failures.push(`K10 cap exceeded: ${tokens} > ${K10_TOKEN_CAP} tokens`);
|
|
118
|
+
}
|
|
119
|
+
return { passed: failures.length === 0, failures, tokens, mergedSkipped };
|
|
120
|
+
}
|
|
5
121
|
export function registerFlywheelCheckPersonaSkeleton(parent) {
|
|
6
122
|
parent
|
|
7
123
|
.command('check-persona-skeleton')
|
|
8
|
-
.description('Validate
|
|
9
|
-
.
|
|
10
|
-
|
|
11
|
-
|
|
124
|
+
.description('Validate D12 skeleton conformance of persona files (frontmatter + required sections + cognitive patterns + K10 cap)')
|
|
125
|
+
.argument('<file...>', 'one or more persona files to check')
|
|
126
|
+
.action((files) => {
|
|
127
|
+
let passCount = 0;
|
|
128
|
+
let failCount = 0;
|
|
129
|
+
for (const filepath of files) {
|
|
130
|
+
const result = checkFile(filepath);
|
|
131
|
+
const label = basename(filepath);
|
|
132
|
+
if (result.passed) {
|
|
133
|
+
process.stdout.write(`PASS: ${label} -- D12 skeleton valid; tokens=${result.tokens}/${K10_TOKEN_CAP}`);
|
|
134
|
+
if (result.mergedSkipped) {
|
|
135
|
+
process.stdout.write(' (merged measurement deferred to A9 apply-overlays port)');
|
|
136
|
+
}
|
|
137
|
+
process.stdout.write('\n');
|
|
138
|
+
passCount += 1;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
for (const detail of result.failures) {
|
|
142
|
+
process.stdout.write(`FAIL: ${label} -- ${detail}\n`);
|
|
143
|
+
}
|
|
144
|
+
failCount += 1;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
process.stdout.write(`\nResults: ${passCount} passed, ${failCount} failed\n`);
|
|
148
|
+
process.exit(failCount > 0 ? 1 : 0);
|
|
12
149
|
});
|
|
13
150
|
}
|
|
14
151
|
//# sourceMappingURL=check-persona-skeleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-persona-skeleton.js","sourceRoot":"","sources":["../../../src/commands/flywheel/check-persona-skeleton.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"check-persona-skeleton.js","sourceRoot":"","sources":["../../../src/commands/flywheel/check-persona-skeleton.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `olam flywheel diversity-check` —
|
|
3
|
-
*
|
|
2
|
+
* `olam flywheel diversity-check` — cross-persona Jaccard similarity CLI.
|
|
3
|
+
*
|
|
4
|
+
* Reads persona-prompt files from a glob; computes pairwise Jaccard; reports
|
|
5
|
+
* pairs exceeding the threshold (default 0.7). Used by /10x:learn write-path
|
|
6
|
+
* to detect silent convergence collapse across K1 personas.
|
|
7
|
+
*
|
|
8
|
+
* Exit codes:
|
|
9
|
+
* 0 = no convergence (all pairs below threshold)
|
|
10
|
+
* 1 = convergence detected (one or more pairs above threshold)
|
|
11
|
+
* 2 = unexpected error (no matching files / read failure)
|
|
12
|
+
*
|
|
13
|
+
* Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-a-tasks.md § A8
|
|
4
14
|
*/
|
|
5
15
|
import type { Command } from 'commander';
|
|
6
16
|
export declare function registerFlywheelDiversityCheck(parent: Command): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diversity-check.d.ts","sourceRoot":"","sources":["../../../src/commands/flywheel/diversity-check.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"diversity-check.d.ts","sourceRoot":"","sources":["../../../src/commands/flywheel/diversity-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAkDpE"}
|