@pleri/olam-cli 0.1.158 → 0.1.160

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.
Files changed (89) hide show
  1. package/dist/agent-stream/agent-sdk-to-chunks.js +3 -0
  2. package/dist/agent-stream/driver-runner.js +9 -4
  3. package/dist/agent-stream/host-driver-launch.js +48 -0
  4. package/dist/commands/doctor.d.ts +21 -10
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +95 -39
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/flywheel/check-persona-skeleton.d.ts +30 -2
  9. package/dist/commands/flywheel/check-persona-skeleton.d.ts.map +1 -1
  10. package/dist/commands/flywheel/check-persona-skeleton.js +143 -6
  11. package/dist/commands/flywheel/check-persona-skeleton.js.map +1 -1
  12. package/dist/commands/flywheel/diversity-check.d.ts +12 -2
  13. package/dist/commands/flywheel/diversity-check.d.ts.map +1 -1
  14. package/dist/commands/flywheel/diversity-check.js +56 -6
  15. package/dist/commands/flywheel/diversity-check.js.map +1 -1
  16. package/dist/commands/flywheel/index.d.ts.map +1 -1
  17. package/dist/commands/flywheel/index.js +2 -0
  18. package/dist/commands/flywheel/index.js.map +1 -1
  19. package/dist/commands/flywheel/install-shims.d.ts +36 -3
  20. package/dist/commands/flywheel/install-shims.d.ts.map +1 -1
  21. package/dist/commands/flywheel/install-shims.js +118 -7
  22. package/dist/commands/flywheel/install-shims.js.map +1 -1
  23. package/dist/commands/flywheel/k10-measure.d.ts +12 -2
  24. package/dist/commands/flywheel/k10-measure.d.ts.map +1 -1
  25. package/dist/commands/flywheel/k10-measure.js +55 -6
  26. package/dist/commands/flywheel/k10-measure.js.map +1 -1
  27. package/dist/commands/flywheel/migrate-overlays.d.ts +115 -0
  28. package/dist/commands/flywheel/migrate-overlays.d.ts.map +1 -0
  29. package/dist/commands/flywheel/migrate-overlays.js +766 -0
  30. package/dist/commands/flywheel/migrate-overlays.js.map +1 -0
  31. package/dist/commands/flywheel/sanitize-persona-output.d.ts +33 -2
  32. package/dist/commands/flywheel/sanitize-persona-output.d.ts.map +1 -1
  33. package/dist/commands/flywheel/sanitize-persona-output.js +94 -6
  34. package/dist/commands/flywheel/sanitize-persona-output.js.map +1 -1
  35. package/dist/commands/memory/index.d.ts.map +1 -1
  36. package/dist/commands/memory/index.js +2 -0
  37. package/dist/commands/memory/index.js.map +1 -1
  38. package/dist/commands/memory/install-hooks.d.ts +22 -0
  39. package/dist/commands/memory/install-hooks.d.ts.map +1 -0
  40. package/dist/commands/memory/install-hooks.js +156 -0
  41. package/dist/commands/memory/install-hooks.js.map +1 -0
  42. package/dist/commands/skills-doctor.js +2 -2
  43. package/dist/commands/skills-doctor.js.map +1 -1
  44. package/dist/commands/skills-source.d.ts.map +1 -1
  45. package/dist/commands/skills-source.js +10 -0
  46. package/dist/commands/skills-source.js.map +1 -1
  47. package/dist/commands/skills.d.ts.map +1 -1
  48. package/dist/commands/skills.js +169 -1
  49. package/dist/commands/skills.js.map +1 -1
  50. package/dist/image-digests.json +7 -7
  51. package/dist/index.js +3592 -905
  52. package/dist/index.js.map +1 -1
  53. package/dist/lib/flywheel-probes.d.ts +58 -0
  54. package/dist/lib/flywheel-probes.d.ts.map +1 -0
  55. package/dist/lib/flywheel-probes.js +163 -0
  56. package/dist/lib/flywheel-probes.js.map +1 -0
  57. package/dist/lib/host-side-proxy.d.ts +67 -0
  58. package/dist/lib/host-side-proxy.d.ts.map +1 -0
  59. package/dist/lib/host-side-proxy.js +177 -0
  60. package/dist/lib/host-side-proxy.js.map +1 -0
  61. package/dist/lib/shim-generator.d.ts +51 -0
  62. package/dist/lib/shim-generator.d.ts.map +1 -0
  63. package/dist/lib/shim-generator.js +88 -0
  64. package/dist/lib/shim-generator.js.map +1 -0
  65. package/dist/lib/skills-apply-overlays.d.ts +35 -0
  66. package/dist/lib/skills-apply-overlays.d.ts.map +1 -0
  67. package/dist/lib/skills-apply-overlays.js +243 -0
  68. package/dist/lib/skills-apply-overlays.js.map +1 -0
  69. package/dist/lib/upgrade-kubernetes.d.ts +13 -12
  70. package/dist/lib/upgrade-kubernetes.d.ts.map +1 -1
  71. package/dist/lib/upgrade-kubernetes.js +87 -134
  72. package/dist/lib/upgrade-kubernetes.js.map +1 -1
  73. package/dist/mcp-server.js +1106 -453
  74. package/hermes-bundle/version.json +1 -1
  75. package/host-cp/k8s/host-side/docker-socket-proxy.compose.yaml +58 -0
  76. package/host-cp/k8s/manifests/50-deployment.yaml +47 -70
  77. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
  78. package/host-cp/k8s/manifests/docker-socket-proxy/60-service.yaml +37 -0
  79. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
  80. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
  81. package/host-cp/k8s/manifests/memory-service/30-configmap.yaml +11 -0
  82. package/host-cp/k8s/manifests/memory-service/35-configmap-iii-config.yaml +76 -0
  83. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +11 -1
  84. package/host-cp/src/crystallize-planning.mjs +261 -0
  85. package/host-cp/src/plan-chat-service.mjs +84 -2
  86. package/host-cp/src/planning-sessions.mjs +270 -0
  87. package/host-cp/src/server.mjs +9 -0
  88. package/host-cp/src/tasks-route.mjs +191 -0
  89. package/package.json +1 -1
@@ -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
@@ -110,17 +110,28 @@ export interface RunDoctorDeps {
110
110
  */
111
111
  readonly manifestsDir?: string;
112
112
  /**
113
- * D7: injectable docker socket presence check for probeDockerSocketBindMount.
114
- * Receives the kubectl context (may be undefined) and returns true when the
115
- * socket is accessible inside the host-cp pod. Tests inject a mock to avoid
116
- * real kubectl invocations.
113
+ * olam-k3d-on-mac-substrate-decision Phase C C1: injectable host-side
114
+ * proxy status check for probeHostSideProxyReachability. Receives the
115
+ * resolved compose-yaml path and returns 'running' / 'stopped' /
116
+ * 'unknown'. Tests inject a mock to avoid real `docker compose` calls.
117
+ * Replaces D7's `dockerSocketCheckImpl` semantic — same field name kept
118
+ * for back-compat with existing test fixtures; type signature changed
119
+ * (composePath instead of kubectl context).
117
120
  */
118
121
  readonly dockerSocketCheckImpl?: DockerSocketCheckFn;
119
122
  /**
120
- * Issue #713: injectable colima cluster detector for remedy-text differentiation.
121
- * When provided, returns 'colima' if the active k8s cluster is a colima-managed
122
- * k3s instance, 'k3d' if it is a k3d cluster, or 'unknown' otherwise.
123
- * Tests inject a mock to avoid real kubectl invocations.
123
+ * Phase C C1: override the resolved compose-yaml path for the host-side
124
+ * proxy probe. Tests pass a fixture path; production resolves via
125
+ * resolveK8sAssetsRoot().
126
+ */
127
+ readonly hostSideProxyComposePathOverride?: string | null;
128
+ /**
129
+ * Issue #713 (RETIRED in olam-k3d-on-mac-substrate-decision Phase C C1):
130
+ * the colima cluster detector was used by the previous
131
+ * probeDockerSocketBindMount's remedy-text differentiation. The new
132
+ * probeHostSideProxyReachability emits one remedy with both macOS and
133
+ * Linux variants inline, so the detector is no longer consulted. Field
134
+ * kept for back-compat with existing tests; the value is never read.
124
135
  */
125
136
  readonly detectK8sClusterTypeImpl?: DetectK8sClusterTypeFn;
126
137
  /**
@@ -155,8 +166,8 @@ interface RunResult {
155
166
  * positions 1 + 2 in-place to preserve the positional `--json` contract.
156
167
  */
157
168
  export declare function runDoctor(opts: DoctorOptions, deps?: RunDoctorDeps): Promise<RunResult>;
158
- /** Injectable type for the docker socket accessibility check in probeDockerSocketBindMount. */
159
- export type DockerSocketCheckFn = (kubectlContext: string | undefined, wrapImpl: typeof kubectlWrap) => Promise<boolean>;
169
+ /** Injectable type for the host-side docker-socket-proxy status check. */
170
+ export type DockerSocketCheckFn = (composePath: string) => Promise<'running' | 'stopped' | 'unknown'>;
160
171
  export { defaultDetectK8sClusterType, buildDockerSocketRemedy };
161
172
  export type { DetectK8sClusterTypeFn };
162
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,8 @@ import { probeBundleFreshness } from '../lib/bundle-freshness.js';
56
56
  import { printError, printSuccess, printWarning, printHeader } from '../output.js';
57
57
  import { kubectlWrap } from '../lib/kubectl-wrap.js';
58
58
  import { PERIPHERALS } from '../lib/peripheral-registry.js';
59
+ import { statusHostSideProxy } from '../lib/host-side-proxy.js';
60
+ import { resolveK8sAssetsRoot } from '../lib/k8s-bootstrap.js';
59
61
  import * as fs from 'node:fs';
60
62
  import * as net from 'node:net';
61
63
  import * as path from 'node:path';
@@ -181,13 +183,23 @@ export async function runDoctor(opts, deps = {}) {
181
183
  // Position 27: probeNodeMemory (D29 — already seeded in Phase A A5).
182
184
  const nodeMemResult = probeNodeMemory(dockerExec, k8sCtx);
183
185
  rows.push({ name: 'node memory', result: nodeMemResult, position: 27 });
184
- // Position 28: probeDockerSocketBindMount (D7 — Phase 2 Phase D).
185
- // Non-gating: WARN when socket bind-mount absent; PASS when accessible.
186
- // Issue #713: remedy is colima-aware via detectK8sClusterTypeImpl dep.
186
+ // Position 28: probeHostSideProxyReachability (olam-k3d-on-mac-substrate-
187
+ // decision Phase C C1). Replaces probeDockerSocketBindMount (Phase B B3
188
+ // retracted; host-cp no longer mounts docker.sock). Asserts the host-side
189
+ // tecnativa/docker-socket-proxy container is running on the operator's
190
+ // docker daemon; host-cp connects to it via the in-cluster ExternalName
191
+ // Service `docker-socket-proxy.olam.svc.cluster.local:2375` (kube-dns
192
+ // CNAME → host.k3d.internal). Non-gating: WARN when proxy is stopped or
193
+ // status-unknown; PASS when running.
187
194
  const socketCheckImpl = deps.dockerSocketCheckImpl;
188
- const detectClusterTypeImpl = deps.detectK8sClusterTypeImpl;
189
- const socketResult = await probeDockerSocketBindMount(k8sCtx, wrapImpl, socketCheckImpl, detectClusterTypeImpl);
190
- rows.push({ name: 'docker socket bind-mount', result: socketResult, position: 28 });
195
+ // Distinguish 'undefined' (not injected — use real resolver) from 'null'
196
+ // (test explicitly simulating bundle-not-found). `??` would collapse the
197
+ // explicit-null case into the default; use a strict undefined check.
198
+ const composePath = deps.hostSideProxyComposePathOverride !== undefined
199
+ ? deps.hostSideProxyComposePathOverride
200
+ : defaultResolveHostSideProxyComposePath();
201
+ const socketResult = await probeHostSideProxyReachability(composePath, socketCheckImpl);
202
+ rows.push({ name: 'host-side proxy', result: socketResult, position: 28 });
191
203
  }
192
204
  else {
193
205
  const bundleResult = await probeBundleFreshness({
@@ -437,55 +449,99 @@ function probeNodeMemory(dockerExec, kubectlContext) {
437
449
  message: `node free RAM ${freeGiB.toFixed(1)} GiB (≥${WARN_THRESHOLD_GIB} GiB threshold)`,
438
450
  };
439
451
  }
452
+ /**
453
+ * Resolve the bundled docker-socket-proxy.compose.yaml path (Phase C C1).
454
+ * Mirrors the upgrade-kubernetes.ts helper of the same name. Returns null
455
+ * when the bundle layout is unexpected (dev contexts without a built
456
+ * tarball); the probe treats null as a warning.
457
+ */
458
+ function defaultResolveHostSideProxyComposePath() {
459
+ const root = resolveK8sAssetsRoot();
460
+ if (root === null)
461
+ return null;
462
+ const candidate = path.join(root, 'host-side', 'docker-socket-proxy.compose.yaml');
463
+ return fs.existsSync(candidate) ? candidate : null;
464
+ }
440
465
  // defaultDetectK8sClusterType, buildDockerSocketRemedy, DetectK8sClusterTypeFn
441
- // are imported from health-probes.ts (canonical location shared with upgrade-kubernetes.ts).
442
- // Re-export for callers that only import from doctor.ts.
466
+ // are imported from health-probes.ts (canonical location). Re-exported here
467
+ // for back-compat with callers that imported them from doctor.ts. Their
468
+ // docker-socket-related codepath is unused since Phase B B3, but the symbols
469
+ // remain available for other consumers.
443
470
  export { defaultDetectK8sClusterType, buildDockerSocketRemedy };
444
471
  /**
445
- * Default implementation: exec into the host-cp pod and test-open the socket.
446
- * Uses `test -S /var/run/docker.sock` exits 0 when the socket file exists
447
- * and is accessible; non-zero when absent, empty, or permission-denied.
472
+ * Default implementation: invoke statusHostSideProxy from host-side-proxy.ts.
473
+ * Returns 'running' / 'stopped' / 'unknown'.
474
+ *
475
+ * This replaces the previous pod-internal `test -S /var/run/docker.sock`
476
+ * check (R3-A/R4-W2-E surface) — host-cp no longer mounts docker.sock; it
477
+ * connects to the host-side proxy via TCP through the in-cluster
478
+ * ExternalName Service. The probe now asks the more direct question:
479
+ * "is the host-side proxy container actually running on the operator's
480
+ * docker daemon?"
448
481
  */
449
- async function defaultDockerSocketCheck(kubectlContext, wrapImpl) {
450
- const ctxArgs = kubectlContext ? ['--context', kubectlContext] : [];
451
- const result = await wrapImpl([
452
- ...ctxArgs,
453
- 'exec',
454
- 'deploy/olam-host-cp',
455
- '-n', 'olam',
456
- '--',
457
- 'test', '-S', '/var/run/docker.sock',
458
- ], { timeout: 10_000 });
459
- return result.ok;
482
+ async function defaultDockerSocketCheck(composePath) {
483
+ const result = statusHostSideProxy(composePath);
484
+ return result.status;
460
485
  }
461
486
  /**
462
- * probeDockerSocketBindMountPhase 2 Phase D, D7.
487
+ * probeHostSideProxyReachabilityolam-k3d-on-mac-substrate-decision Phase C C1.
463
488
  *
464
- * Position 28 in the kubernetes probe suite (after probeNodeMemory at 27).
465
- * Detects whether the docker socket is accessible inside the host-cp pod.
489
+ * Position 28 in the kubernetes probe suite (replaces probeDockerSocketBindMount).
490
+ * Asserts the host-side `tecnativa/docker-socket-proxy` container is running
491
+ * on the operator's docker daemon. host-cp's kubernetes-substrate codepath
492
+ * connects to this proxy via TCP through the in-cluster `docker-socket-proxy`
493
+ * ExternalName Service (kube-dns CNAME → host.k3d.internal:2375).
466
494
  *
467
- * PASS: `test -S /var/run/docker.sock` exits 0 inside the pod — socket is
468
- * present and accessible.
469
- * WARN: command fails socket absent or permission-denied. Operator action:
470
- * recreate the cluster with the --volume socket bind. Remedy text is
471
- * cluster-type-aware: colima operators see `colima start --kubernetes`
472
- * instructions; k3d operators see the k3d cluster create command.
473
- * Issue #713 fix.
495
+ * PASS: statusHostSideProxy returns 'running' proxy reachable on host
496
+ * (operator's `olam upgrade` Step 0.7 succeeded, OR Linux operator
497
+ * brought up the proxy manually per the install guide).
498
+ * WARN: 'stopped' proxy not running. Remedy: `olam upgrade` (macOS) OR
499
+ * `docker compose -f $(npm root -g)/@pleri/olam-cli/host-cp/k8s/
500
+ * host-side/docker-socket-proxy.compose.yaml up -d` (Linux).
501
+ * WARN: 'unknown' — probe failure (docker compose plugin absent, daemon
502
+ * unreachable, malformed output). Remedy includes plugin-install hint.
474
503
  *
475
504
  * Non-gating (WARN, not FAIL). Only runs in engine=kubernetes mode.
476
505
  */
477
- async function probeDockerSocketBindMount(kubectlContext, wrapImpl, checkImpl, detectClusterTypeImpl) {
506
+ async function probeHostSideProxyReachability(composePath, checkImpl) {
507
+ if (composePath === null) {
508
+ return {
509
+ ok: true,
510
+ warn: true,
511
+ message: 'host-side proxy compose yaml not found in CLI bundle',
512
+ remedy: 'The bundled `docker-socket-proxy.compose.yaml` could not be resolved.\n' +
513
+ 'This is a packaging issue — try `npm install -g @pleri/olam-cli@latest`\n' +
514
+ 'to restore the bundled k8s assets.',
515
+ };
516
+ }
478
517
  const check = checkImpl ?? defaultDockerSocketCheck;
479
- const accessible = await check(kubectlContext, wrapImpl);
480
- if (accessible) {
481
- return { ok: true, message: 'docker socket accessible at /var/run/docker.sock' };
518
+ const status = await check(composePath);
519
+ if (status === 'running') {
520
+ return {
521
+ ok: true,
522
+ message: 'host-side docker-socket-proxy running on operator docker daemon',
523
+ };
524
+ }
525
+ if (status === 'stopped') {
526
+ return {
527
+ ok: true,
528
+ warn: true,
529
+ message: 'host-side docker-socket-proxy not running',
530
+ remedy: 'Start the proxy on the operator host:\n' +
531
+ ` - macOS: re-run \`olam upgrade\` (Step 0.7 auto-starts the proxy)\n` +
532
+ ` - Linux: \`docker compose -f ${composePath} up -d\`\n` +
533
+ 'host-cp connects to docker through this proxy via the in-cluster\n' +
534
+ 'ExternalName Service `docker-socket-proxy.olam.svc.cluster.local:2375`.',
535
+ };
482
536
  }
483
- const clusterType = (detectClusterTypeImpl ?? defaultDetectK8sClusterType)(kubectlContext);
484
537
  return {
485
538
  ok: true,
486
539
  warn: true,
487
- message: 'docker socket not accessible at /var/run/docker.sock',
488
- remedy: buildDockerSocketRemedy(clusterType),
540
+ message: 'host-side docker-socket-proxy status unknown',
541
+ remedy: 'Probe failed before reaching the docker daemon. Check:\n' +
542
+ ' - `docker compose version` succeeds (compose v2 plugin installed)\n' +
543
+ ' - `docker context ls` shows your active context (colima for macOS)\n' +
544
+ ' - `docker info` succeeds against that context',
489
545
  };
490
546
  }
491
547
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,35 @@
1
1
  /**
2
- * `olam flywheel check-persona-skeleton` — stub registered in task A1.
3
- * Implementation lands in task A7 (port from `shared/engineering/scripts/check-persona-skeleton.py`).
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;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAU1E"}
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"}