@eventmodelers/cli 1.0.13 → 1.0.14
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
CHANGED
|
@@ -105,6 +105,7 @@ npx @eventmodelers/cli re-init # refresh an already-install
|
|
|
105
105
|
npx @eventmodelers/cli run # start the agent loop (ralph-claude.js) from the installed kit dir
|
|
106
106
|
npx @eventmodelers/cli run --ollama # same, via local Ollama (ralph-ollama.js)
|
|
107
107
|
npx @eventmodelers/cli run --bash # bash-only loop, no realtime (ralph.sh)
|
|
108
|
+
npx @eventmodelers/cli run --local # skip platform config/credential lookup entirely — local-only, no board sync
|
|
108
109
|
npx @eventmodelers/cli fetch --context <name> # pull full slice detail for one context on the board into <kit-dir>/.slices/
|
|
109
110
|
npx @eventmodelers/cli fetch --context <name> --slice-id <id> # same, then print just that slice
|
|
110
111
|
npx @eventmodelers/cli fetch --context <name> --slice-title <title> # same, then print just the slice matching this title
|
package/cli.js
CHANGED
|
@@ -1772,6 +1772,7 @@ program
|
|
|
1772
1772
|
.option('--ollama', 'Use ralph-ollama.js instead of the default Claude runner (build-kit stacks only)')
|
|
1773
1773
|
.option('--bash', 'Use the bash-only ralph.sh loop (build-kit stacks only, no realtime)')
|
|
1774
1774
|
.option('--modeling', 'Keep one Claude process warm across prompts instead of spawning a fresh one per task, for low-latency voice/live use. Modeling-kit installs only — there is no cold-spawn/tasks.json loop for modeling-kit. Built into the CLI, not a per-project file.')
|
|
1775
|
+
.option('--local', 'Skip platform config/credential lookup entirely and run the local-only loop (no board sync, no realtime agent) — even if .eventmodelers/config.json has credentials (build-kit stacks only)')
|
|
1775
1776
|
.option('--verbose', 'Log every tool call\'s full input (commands, skill args, file paths) and assistant reasoning text. Default is condensed, high-level per-step logging only.')
|
|
1776
1777
|
.action(async (opts) => {
|
|
1777
1778
|
const cwd = process.cwd();
|
|
@@ -1799,6 +1800,10 @@ program
|
|
|
1799
1800
|
console.error('❌ --modeling is mutually exclusive with --bash/--ollama — those select a build-kit runner, which --modeling has no use for.');
|
|
1800
1801
|
process.exit(1);
|
|
1801
1802
|
}
|
|
1803
|
+
if (opts.local) {
|
|
1804
|
+
console.error('❌ --modeling has no local-only mode — it is always driven by the org-wide realtime prompt queue, so --local has no use for it.');
|
|
1805
|
+
process.exit(1);
|
|
1806
|
+
}
|
|
1802
1807
|
if (!modelingKitDir) {
|
|
1803
1808
|
console.error(`❌ --modeling only supports a modeling-kit install (${MODELING_KIT.kitDirName}/) — it subscribes to the org-wide prompt queue, which build-kit stacks don't have. Use \`eventmodelers run\` (optionally with --ollama/--bash) for build-kit's slice-status loop instead.`);
|
|
1804
1809
|
process.exit(1);
|
|
@@ -1850,9 +1855,11 @@ program
|
|
|
1850
1855
|
console.log(`▶ Starting ${relative(cwd, runnerPath)}...\n`);
|
|
1851
1856
|
const cmd = runner.endsWith('.sh') ? `"${runnerPath}"` : `node "${runnerPath}"`;
|
|
1852
1857
|
try {
|
|
1853
|
-
// Only ralph-claude.js reads
|
|
1854
|
-
// their own separate output paths with no stream-json parsing to gate.
|
|
1855
|
-
|
|
1858
|
+
// Only ralph-claude.js reads RALPH_VERBOSE — the bash loop and the ollama executor have
|
|
1859
|
+
// their own separate output paths with no stream-json parsing to gate. RALPH_LOCAL is
|
|
1860
|
+
// read by all three runners (ralph.js's startRalph, and ralph.sh directly) to force the
|
|
1861
|
+
// local-only branch even when .eventmodelers/config.json has valid credentials.
|
|
1862
|
+
execSync(cmd, { cwd: kitDir, stdio: 'inherit', env: { ...process.env, RALPH_VERBOSE: opts.verbose ? '1' : '', RALPH_LOCAL: opts.local ? '1' : '' } });
|
|
1856
1863
|
} catch (err) {
|
|
1857
1864
|
process.exit(err.status || 1);
|
|
1858
1865
|
}
|
package/package.json
CHANGED
|
@@ -397,15 +397,19 @@ async function ralphLoop(kitDir, cfg, onTask, onPlannedSlice) {
|
|
|
397
397
|
|
|
398
398
|
export { loadLocalConfig, fetchPlatformConfig, retryOn401, startRealtimeAgent };
|
|
399
399
|
|
|
400
|
-
export async function startRalph({ kitDir, projectDir, onTask, onPlannedSlice, agentType = 'BUILD', queueAllStatuses = false }) {
|
|
400
|
+
export async function startRalph({ kitDir, projectDir, onTask, onPlannedSlice, agentType = 'BUILD', queueAllStatuses = false, localOnly = false }) {
|
|
401
401
|
const local = loadLocalConfig(kitDir);
|
|
402
402
|
local.agentId = ensureAgentId(kitDir, agentType);
|
|
403
403
|
|
|
404
404
|
console.log(`Ralph — kit: ${kitDir}`);
|
|
405
405
|
console.log(` project: ${projectDir}`);
|
|
406
406
|
|
|
407
|
-
|
|
408
|
-
|
|
407
|
+
// localOnly (set via `eventmodelers run --local`) forces this branch even when
|
|
408
|
+
// credentials are present — it skips fetchPlatformConfig's network call to
|
|
409
|
+
// ${baseUrl}/api/config and startRealtimeAgent entirely, so the loop never
|
|
410
|
+
// reaches out to the platform at all.
|
|
411
|
+
if (localOnly || !hasCredentials(local)) {
|
|
412
|
+
console.log(` mode: local-only (no platform sync)${localOnly ? ' — forced by --local' : ''}\n`);
|
|
409
413
|
await ralphLoop(kitDir, local, onTask, onPlannedSlice);
|
|
410
414
|
return;
|
|
411
415
|
}
|
|
@@ -21,7 +21,10 @@ BACKEND_PROMPT_FILE="$KIT_DIR/lib/backend-prompt.md"
|
|
|
21
21
|
AGENT_SCRIPT="$KIT_DIR/lib/agent.sh"
|
|
22
22
|
|
|
23
23
|
HAS_CREDENTIALS=true
|
|
24
|
-
if [[
|
|
24
|
+
if [[ "${RALPH_LOCAL:-}" == "1" ]]; then
|
|
25
|
+
echo "[ralph] --local — platform sync disabled." >&2
|
|
26
|
+
HAS_CREDENTIALS=false
|
|
27
|
+
elif [[ ! -f "$KIT_DIR/.eventmodelers/config.json" ]]; then
|
|
25
28
|
echo "[ralph] Note: no .eventmodelers/config.json found — platform sync disabled." >&2
|
|
26
29
|
echo " To enable board sync, follow: https://app.eventmodelers.ai/documentation#build" >&2
|
|
27
30
|
echo " Code generation from local slice definitions will still run." >&2
|