@structured-vibe-coding/core 0.11.1 → 0.12.0
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.
|
@@ -445,6 +445,20 @@ var AGENT_INTEGRATIONS = [
|
|
|
445
445
|
rolePath: () => `.grok/rules/sdd.md`,
|
|
446
446
|
rolesToInstall: ["sdd"],
|
|
447
447
|
agentsMdRow: "| Grok Build | `.grok/rules/sdd.md` + `AGENTS.md` (reads protocol + active-context; run `sdd` in shell) |"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
id: "ollama",
|
|
451
|
+
key: "ollama",
|
|
452
|
+
aliases: ["local", "llama", "ollama-local"],
|
|
453
|
+
label: "Ollama (local)",
|
|
454
|
+
hint: "Local models via `ollama` CLI + AGENTS.md / .ollama/sdd.md (set SDD_OLLAMA_MODEL)",
|
|
455
|
+
requiresCli: true,
|
|
456
|
+
cliBinary: "ollama",
|
|
457
|
+
installUrl: "https://ollama.com",
|
|
458
|
+
// Single project brief — Ollama does not auto-load multi-role agent trees
|
|
459
|
+
rolePath: () => `.ollama/sdd.md`,
|
|
460
|
+
rolesToInstall: ["sdd"],
|
|
461
|
+
agentsMdRow: "| Ollama (local) | `.ollama/sdd.md` + `AGENTS.md` + handoff; launch: `ollama run $SDD_OLLAMA_MODEL` |"
|
|
448
462
|
}
|
|
449
463
|
];
|
|
450
464
|
var ALL_AGENT_TARGETS = AGENT_INTEGRATIONS.map((i) => i.id);
|
|
@@ -486,6 +500,8 @@ function agentHostPaths(target) {
|
|
|
486
500
|
return [".claude/agents"];
|
|
487
501
|
case "grok":
|
|
488
502
|
return [".grok/rules"];
|
|
503
|
+
case "ollama":
|
|
504
|
+
return [".ollama"];
|
|
489
505
|
default:
|
|
490
506
|
return [];
|
|
491
507
|
}
|
|
@@ -510,8 +526,9 @@ async function removeOtherAgentHosts(projectRoot, keep) {
|
|
|
510
526
|
removed.push(rel);
|
|
511
527
|
}
|
|
512
528
|
}
|
|
513
|
-
for (const parent of [".claude", ".idea", ".grok"]) {
|
|
529
|
+
for (const parent of [".claude", ".idea", ".grok", ".ollama"]) {
|
|
514
530
|
if (keep === "grok" && parent === ".grok") continue;
|
|
531
|
+
if (keep === "ollama" && parent === ".ollama") continue;
|
|
515
532
|
const full = join3(projectRoot, parent);
|
|
516
533
|
if (!await pathExists(full)) continue;
|
|
517
534
|
try {
|
package/dist/index.d.ts
CHANGED
|
@@ -1226,9 +1226,9 @@ declare function completeChange(projectRoot: string, config: Config, changeId: s
|
|
|
1226
1226
|
|
|
1227
1227
|
/**
|
|
1228
1228
|
* AI coding agents (not IDEs).
|
|
1229
|
-
* Speckit-style: one integration at a time; public keys: `copilot` | `claude` | `grok`.
|
|
1229
|
+
* Speckit-style: one integration at a time; public keys: `copilot` | `claude` | `grok` | `ollama`.
|
|
1230
1230
|
*/
|
|
1231
|
-
type AgentTarget = "copilot" | "claude-code" | "grok";
|
|
1231
|
+
type AgentTarget = "copilot" | "claude-code" | "grok" | "ollama";
|
|
1232
1232
|
/** Registry entry — add a new AI agent by appending here only. */
|
|
1233
1233
|
interface AgentIntegration {
|
|
1234
1234
|
id: AgentTarget;
|
|
@@ -1324,7 +1324,7 @@ declare function installAgentIntegrations(opts: InstallAgentsOptions): Promise<I
|
|
|
1324
1324
|
/** Thin agent body shared across hosts (same text). */
|
|
1325
1325
|
declare function renderThinAgent(role: SddAgentRole): string;
|
|
1326
1326
|
interface InstalledAgentSnapshot {
|
|
1327
|
-
/** Public key: copilot | claude | grok */
|
|
1327
|
+
/** Public key: copilot | claude | grok | ollama */
|
|
1328
1328
|
ai: string;
|
|
1329
1329
|
target: AgentTarget;
|
|
1330
1330
|
integration: AgentIntegration;
|
package/dist/index.js
CHANGED
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
todayIsoDate,
|
|
46
46
|
uniqueChangeDirName,
|
|
47
47
|
writeAgentHandoff
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-24S2YWWL.js";
|
|
49
49
|
import {
|
|
50
50
|
ArtifactDefSchema,
|
|
51
51
|
ChangeMetaSchema,
|
|
@@ -293,7 +293,7 @@ async function createChange(input) {
|
|
|
293
293
|
await materializeStageArtifacts(projectRoot, config, id, workflow, meta, firstStage);
|
|
294
294
|
await setActiveChange(projectRoot, config, id);
|
|
295
295
|
try {
|
|
296
|
-
const { refreshActiveAgentContext: refreshActiveAgentContext2 } = await import("./agents-
|
|
296
|
+
const { refreshActiveAgentContext: refreshActiveAgentContext2 } = await import("./agents-R4RMNXOS.js");
|
|
297
297
|
await refreshActiveAgentContext2(projectRoot);
|
|
298
298
|
} catch {
|
|
299
299
|
}
|
|
@@ -376,7 +376,7 @@ async function advanceStage(projectRoot, config, changeId, opts) {
|
|
|
376
376
|
stage2
|
|
377
377
|
);
|
|
378
378
|
try {
|
|
379
|
-
const { refreshActiveAgentContext: refreshActiveAgentContext2 } = await import("./agents-
|
|
379
|
+
const { refreshActiveAgentContext: refreshActiveAgentContext2 } = await import("./agents-R4RMNXOS.js");
|
|
380
380
|
await refreshActiveAgentContext2(projectRoot);
|
|
381
381
|
} catch {
|
|
382
382
|
}
|
|
@@ -423,7 +423,7 @@ async function advanceStage(projectRoot, config, changeId, opts) {
|
|
|
423
423
|
stage
|
|
424
424
|
);
|
|
425
425
|
try {
|
|
426
|
-
const { refreshActiveAgentContext: refreshActiveAgentContext2 } = await import("./agents-
|
|
426
|
+
const { refreshActiveAgentContext: refreshActiveAgentContext2 } = await import("./agents-R4RMNXOS.js");
|
|
427
427
|
await refreshActiveAgentContext2(projectRoot);
|
|
428
428
|
} catch {
|
|
429
429
|
}
|