@amistio/cli 0.1.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.
Files changed (46) hide show
  1. package/README.md +12 -0
  2. package/dist/api-client.d.ts +175 -0
  3. package/dist/api-client.d.ts.map +1 -0
  4. package/dist/api-client.js +116 -0
  5. package/dist/api-client.js.map +1 -0
  6. package/dist/bootstrap.d.ts +11 -0
  7. package/dist/bootstrap.d.ts.map +1 -0
  8. package/dist/bootstrap.js +66 -0
  9. package/dist/bootstrap.js.map +1 -0
  10. package/dist/control-plane.d.ts +11 -0
  11. package/dist/control-plane.d.ts.map +1 -0
  12. package/dist/control-plane.js +91 -0
  13. package/dist/control-plane.js.map +1 -0
  14. package/dist/credential-store.d.ts +9 -0
  15. package/dist/credential-store.d.ts.map +1 -0
  16. package/dist/credential-store.js +32 -0
  17. package/dist/credential-store.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +698 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/local-tool-runner.d.ts +93 -0
  23. package/dist/local-tool-runner.d.ts.map +1 -0
  24. package/dist/local-tool-runner.js +472 -0
  25. package/dist/local-tool-runner.js.map +1 -0
  26. package/dist/orchestrator.d.ts +7 -0
  27. package/dist/orchestrator.d.ts.map +1 -0
  28. package/dist/orchestrator.js +61 -0
  29. package/dist/orchestrator.js.map +1 -0
  30. package/dist/session-policy.d.ts +20 -0
  31. package/dist/session-policy.d.ts.map +1 -0
  32. package/dist/session-policy.js +125 -0
  33. package/dist/session-policy.js.map +1 -0
  34. package/dist/sync.d.ts +33 -0
  35. package/dist/sync.d.ts.map +1 -0
  36. package/dist/sync.js +279 -0
  37. package/dist/sync.js.map +1 -0
  38. package/dist/tool-session-store.d.ts +8 -0
  39. package/dist/tool-session-store.d.ts.map +1 -0
  40. package/dist/tool-session-store.js +38 -0
  41. package/dist/tool-session-store.js.map +1 -0
  42. package/dist/work-runner.d.ts +4 -0
  43. package/dist/work-runner.d.ts.map +1 -0
  44. package/dist/work-runner.js +100 -0
  45. package/dist/work-runner.js.map +1 -0
  46. package/package.json +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-tool-runner.js","sourceRoot":"","sources":["../src/local-tool-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface OrchestrationPromptOptions {
2
+ rootDir: string;
3
+ goal: string;
4
+ }
5
+ export declare function createOrchestrationPrompt(options: OrchestrationPromptOptions): Promise<string>;
6
+ export declare function writePromptFile(filePath: string, prompt: string): Promise<string>;
7
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDpG;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvF"}
@@ -0,0 +1,61 @@
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { inspectControlPlane } from "./control-plane.js";
4
+ export async function createOrchestrationPrompt(options) {
5
+ const controlPlane = await inspectControlPlane(options.rootDir);
6
+ return [
7
+ "# Amistio Orchestration Task",
8
+ "",
9
+ "You are running locally through the Amistio CLI inside the user's repository.",
10
+ "Your job is to keep future agents on the same track by updating the Amistio control plane, not by rewriting the project from scratch.",
11
+ "",
12
+ "## Goal",
13
+ "",
14
+ options.goal,
15
+ "",
16
+ "## Orchestrator Principle",
17
+ "",
18
+ "The root control-plane files are the project brain. They exist so agentic coding sessions can continue from established context, decisions, memory, plans, workflows, and prompts instead of drifting into a fresh interpretation each time.",
19
+ "",
20
+ "## Repository Rules",
21
+ "",
22
+ "- Read AGENTS.md first when it exists.",
23
+ "- Read existing architecture, context, decisions, features, memory, plans, prompts, and workflows before proposing changes.",
24
+ "- Preserve existing intent. Add the next useful orchestration layer instead of replacing old content wholesale.",
25
+ "- Prefer small additive edits, dated notes, explicit decisions, focused plans, and executable prompts.",
26
+ "- Do not modify product source code unless the user's goal explicitly asks for implementation.",
27
+ "- Do not create a repo-local .amistio folder.",
28
+ "- Do not write access tokens, API keys, refresh tokens, local filesystem secrets, or machine-specific credentials into the repository.",
29
+ "- Do not commit changes.",
30
+ "",
31
+ "## Control-Plane Areas",
32
+ "",
33
+ "- AGENTS.md for agent operating rules.",
34
+ "- architecture/**/*.md for system shape and boundaries.",
35
+ "- context/**/*.md for product, stack, and implementation context.",
36
+ "- decisions/**/*.md for ADRs and durable choices.",
37
+ "- features/**/*.md for behavior specs and acceptance criteria.",
38
+ "- memory/**/*.md for lessons, patterns, and known pitfalls.",
39
+ "- plans/**/*.md for near-term execution plans.",
40
+ "- prompts/**/*.md for model-agnostic implementation prompts.",
41
+ "- workflows/**/*.md for repeatable procedures.",
42
+ "",
43
+ "## Current Control-Plane Folder Status",
44
+ "",
45
+ `Present: ${controlPlane.present.length ? controlPlane.present.join(", ") : "none"}`,
46
+ `Missing: ${controlPlane.missing.length ? controlPlane.missing.join(", ") : "none"}`,
47
+ "",
48
+ "## Expected Result",
49
+ "",
50
+ "- Update the smallest useful set of control-plane files needed to orient the next coding agent.",
51
+ "- Record any new decision, plan, prompt, workflow, memory, or context that prevents future drift.",
52
+ "- Keep old decisions visible. If something is superseded, say so explicitly instead of silently deleting it.",
53
+ "- Summarize changed files, why they changed, and the recommended next agent action."
54
+ ].join("\n");
55
+ }
56
+ export async function writePromptFile(filePath, prompt) {
57
+ await mkdir(path.dirname(filePath), { recursive: true });
58
+ await writeFile(filePath, prompt, "utf8");
59
+ return filePath;
60
+ }
61
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAAmC;IAC/E,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO;QACH,8BAA8B;QAC9B,EAAE;QACF,+EAA+E;QAC/E,uIAAuI;QACvI,EAAE;QACF,SAAS;QACT,EAAE;QACF,OAAO,CAAC,IAAI;QACZ,EAAE;QACF,2BAA2B;QAC3B,EAAE;QACF,8OAA8O;QAC9O,EAAE;QACF,qBAAqB;QACrB,EAAE;QACF,wCAAwC;QACxC,6HAA6H;QAC7H,iHAAiH;QACjH,wGAAwG;QACxG,gGAAgG;QAChG,+CAA+C;QAC/C,wIAAwI;QACxI,0BAA0B;QAC1B,EAAE;QACF,wBAAwB;QACxB,EAAE;QACF,wCAAwC;QACxC,yDAAyD;QACzD,mEAAmE;QACnE,mDAAmD;QACnD,gEAAgE;QAChE,6DAA6D;QAC7D,gDAAgD;QAChD,8DAA8D;QAC9D,gDAAgD;QAChD,EAAE;QACF,wCAAwC;QACxC,EAAE;QACF,YAAY,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QACpF,YAAY,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QACpF,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,iGAAiG;QACjG,mGAAmG;QACnG,8GAA8G;QAC9G,qFAAqF;KACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,MAAc;IAClE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { SessionDecision, SessionPolicy, ToolSessionItem, WorkItem } from "@amistio/shared";
2
+ export interface SessionSelectionInput {
3
+ policy: SessionPolicy;
4
+ workItem: WorkItem;
5
+ sessions: ToolSessionItem[];
6
+ toolName: string;
7
+ runnerId: string;
8
+ repositoryLinkId: string;
9
+ supportsSessionReuse: boolean;
10
+ now?: Date;
11
+ }
12
+ export interface SessionSelection {
13
+ policy: SessionPolicy;
14
+ decision: SessionDecision;
15
+ reason: string;
16
+ toolSession?: ToolSessionItem;
17
+ }
18
+ export declare function normalizeSessionPolicy(value: string | undefined): SessionPolicy;
19
+ export declare function selectToolSession(input: SessionSelectionInput): SessionSelection;
20
+ //# sourceMappingURL=session-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-policy.d.ts","sourceRoot":"","sources":["../src/session-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AASjG,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,GAAG,CAAC,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,eAAe,CAAC;CACjC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAU/E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,CAqDhF"}
@@ -0,0 +1,125 @@
1
+ const maxIdleMs = 24 * 60 * 60 * 1000;
2
+ const maxTotalMs = 7 * 24 * 60 * 60 * 1000;
3
+ const maxMessageCount = 80;
4
+ const maxEstimatedTokens = 120_000;
5
+ const maxCostUsd = 25;
6
+ const relatednessThreshold = 20;
7
+ export function normalizeSessionPolicy(value) {
8
+ if (!value || value === "auto" || value === "new" || value === "none") {
9
+ return (value ?? "auto");
10
+ }
11
+ if (/^continue:[A-Za-z0-9_.:-]+$/.test(value)) {
12
+ return value;
13
+ }
14
+ throw new Error(`Unsupported session policy: ${value}. Use auto, new, continue:<toolSessionId>, or none.`);
15
+ }
16
+ export function selectToolSession(input) {
17
+ if (input.policy === "none") {
18
+ return { policy: input.policy, decision: "skipped", reason: "Session reuse was disabled for this run." };
19
+ }
20
+ if (!input.supportsSessionReuse) {
21
+ return {
22
+ policy: input.policy,
23
+ decision: "notSupported",
24
+ reason: `${input.toolName} does not expose reusable provider sessions; Amistio will record this as a one-shot tool session.`
25
+ };
26
+ }
27
+ if (input.policy === "new") {
28
+ return { policy: input.policy, decision: "forcedNew", reason: "The user requested a fresh tool session." };
29
+ }
30
+ const forcedSessionId = forcedContinueSessionId(input.policy);
31
+ if (forcedSessionId) {
32
+ const forced = input.sessions.find((session) => session.toolSessionId === forcedSessionId);
33
+ if (!forced) {
34
+ return { policy: input.policy, decision: "forcedNew", reason: `Requested session ${forcedSessionId} was not found; creating a fresh session.` };
35
+ }
36
+ const ineligibleReason = sessionIneligibleReason(forced, input, input.now ?? new Date());
37
+ if (ineligibleReason) {
38
+ return { policy: input.policy, decision: "forcedNew", reason: `Requested session ${forcedSessionId} cannot be resumed: ${ineligibleReason}` };
39
+ }
40
+ return { policy: input.policy, decision: "forcedContinue", reason: `The user requested session ${forcedSessionId}.`, toolSession: forced };
41
+ }
42
+ const now = input.now ?? new Date();
43
+ const candidates = input.sessions
44
+ .map((session) => ({ session, ineligibleReason: sessionIneligibleReason(session, input, now), score: relatednessScore(session, input.workItem) }))
45
+ .filter((candidate) => !candidate.ineligibleReason)
46
+ .sort((a, b) => b.score - a.score || Date.parse(b.session.lastActivityAt) - Date.parse(a.session.lastActivityAt));
47
+ const best = candidates[0];
48
+ if (!best || best.score < relatednessThreshold) {
49
+ return {
50
+ policy: input.policy,
51
+ decision: "created",
52
+ reason: best ? `Best related session score ${best.score} was below ${relatednessThreshold}; creating a fresh session.` : "No eligible related session was found."
53
+ };
54
+ }
55
+ return {
56
+ policy: input.policy,
57
+ decision: "continued",
58
+ reason: `Reusing ${best.session.toolSessionId}; relatedness score ${best.score}.`,
59
+ toolSession: best.session
60
+ };
61
+ }
62
+ function forcedContinueSessionId(policy) {
63
+ return typeof policy === "string" && policy.startsWith("continue:") ? policy.slice("continue:".length) : undefined;
64
+ }
65
+ function sessionIneligibleReason(session, input, now) {
66
+ if (session.tool !== input.toolName) {
67
+ return `tool mismatch (${session.tool} != ${input.toolName})`;
68
+ }
69
+ if (session.repositoryLinkId && session.repositoryLinkId !== input.repositoryLinkId) {
70
+ return "repository link mismatch";
71
+ }
72
+ if (session.resumabilityScope === "localMachine" && session.runnerId && session.runnerId !== input.runnerId) {
73
+ return "session is scoped to another runner machine";
74
+ }
75
+ if (session.status === "closed" || session.status === "archived" || session.status === "blocked" || session.status === "unavailable") {
76
+ return `session is ${session.status}`;
77
+ }
78
+ if (Date.parse(session.lastActivityAt) + maxIdleMs < now.getTime()) {
79
+ return "session is idle past the reuse window";
80
+ }
81
+ if (Date.parse(session.createdAt) + maxTotalMs < now.getTime()) {
82
+ return "session is older than the reuse window";
83
+ }
84
+ if ((session.messageCount ?? 0) >= maxMessageCount) {
85
+ return "session message count is too high";
86
+ }
87
+ if ((session.estimatedInputTokens ?? 0) + (session.estimatedOutputTokens ?? 0) >= maxEstimatedTokens) {
88
+ return "session token estimate is too high";
89
+ }
90
+ if ((session.costUsd ?? 0) >= maxCostUsd) {
91
+ return "session cost is too high";
92
+ }
93
+ return undefined;
94
+ }
95
+ function relatednessScore(session, workItem) {
96
+ let score = 0;
97
+ if (session.sessionGroupKey && workItem.sessionGroupKey && session.sessionGroupKey === workItem.sessionGroupKey) {
98
+ score += 60;
99
+ }
100
+ if (session.lastWorkItemId && session.lastWorkItemId === workItem.workItemId) {
101
+ score += 40;
102
+ }
103
+ const titleOverlap = tokenOverlap(session.title, workItem.title);
104
+ score += titleOverlap * 8;
105
+ if (session.summary) {
106
+ score += tokenOverlap(session.summary, workItem.title) * 4;
107
+ }
108
+ for (const tag of session.tags) {
109
+ if (workItem.title.toLowerCase().includes(tag.toLowerCase())) {
110
+ score += 10;
111
+ }
112
+ }
113
+ return score;
114
+ }
115
+ function tokenOverlap(firstValue, secondValue) {
116
+ const firstTokens = new Set(tokens(firstValue));
117
+ return tokens(secondValue).filter((token) => firstTokens.has(token)).length;
118
+ }
119
+ function tokens(value) {
120
+ return value
121
+ .toLowerCase()
122
+ .split(/[^a-z0-9]+/)
123
+ .filter((token) => token.length >= 4);
124
+ }
125
+ //# sourceMappingURL=session-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-policy.js","sourceRoot":"","sources":["../src/session-policy.ts"],"names":[],"mappings":"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"}
package/dist/sync.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import { type BrainDocumentItem, type RepoLinkMetadata, type SyncedDocumentFrontmatter } from "@amistio/shared";
2
+ export type SyncStatus = "clean" | "pending" | "dirty" | "conflicted";
3
+ export interface LocalSyncedDocument {
4
+ fullPath: string;
5
+ repoPath: string;
6
+ frontmatter: SyncedDocumentFrontmatter;
7
+ content: string;
8
+ contentHash: string;
9
+ }
10
+ export interface SyncStatusItem {
11
+ repoPath: string;
12
+ documentId?: string;
13
+ status: SyncStatus;
14
+ reason: string;
15
+ }
16
+ export interface SyncStatusReport {
17
+ status: SyncStatus;
18
+ items: SyncStatusItem[];
19
+ counts: Record<SyncStatus, number>;
20
+ }
21
+ export interface MaterializeResult {
22
+ written: string[];
23
+ skipped: string[];
24
+ conflicts: string[];
25
+ }
26
+ export declare function collectSyncStatus(rootDir: string, webDocuments?: BrainDocumentItem[]): Promise<SyncStatusReport>;
27
+ export declare function readLocalSyncedDocuments(rootDir: string): Promise<LocalSyncedDocument[]>;
28
+ export declare function materializeBrainDocuments(rootDir: string, documents: BrainDocumentItem[], options?: {
29
+ allowDirtyOverwrite?: boolean;
30
+ }): Promise<MaterializeResult>;
31
+ export declare function collectDirtyDocumentsForPush(rootDir: string, metadata: RepoLinkMetadata): Promise<BrainDocumentItem[]>;
32
+ export declare function createSyncedDocumentMarkdown(document: BrainDocumentItem): string;
33
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAMH,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EACjC,MAAM,iBAAiB,CAAC;AAKzB,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,yBAAyB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,GAAE,iBAAiB,EAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0E1H;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoB9F;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkC5K;AAED,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA4B5H;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAYhF"}
package/dist/sync.js ADDED
@@ -0,0 +1,279 @@
1
+ import { mkdir, readdir, readFile, stat, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { brainDocumentItemSchema, decideSyncState, documentTypeSchema, sha256ContentHash, syncedDocumentFrontmatterSchema } from "@amistio/shared";
4
+ import { parseFrontmatter } from "./control-plane.js";
5
+ const syncRoots = ["architecture", "context", "decisions", "features", "memory", "plans", "prompts", "workflows"];
6
+ export async function collectSyncStatus(rootDir, webDocuments = []) {
7
+ const localDocuments = await readLocalSyncedDocuments(rootDir);
8
+ const webByDocumentId = new Map(webDocuments.map((document) => [document.documentId, document]));
9
+ const pullableWebDocuments = webDocuments.filter((document) => document.status === "approved" || document.syncState === "approved" || document.syncState === "synced");
10
+ const localByDocumentId = new Map(localDocuments.map((document) => [document.frontmatter.amistioDocumentId, document]));
11
+ const items = [];
12
+ for (const localDocument of localDocuments) {
13
+ const webDocument = webByDocumentId.get(localDocument.frontmatter.amistioDocumentId);
14
+ const localDirty = localDocument.contentHash !== localDocument.frontmatter.amistioContentHash;
15
+ const webHash = webDocument?.contentHash;
16
+ const decision = decideSyncState({
17
+ lastSyncedHash: localDocument.frontmatter.amistioContentHash,
18
+ repoHash: localDocument.contentHash,
19
+ ...(webHash ? { webHash } : {})
20
+ });
21
+ if (decision === "conflict") {
22
+ items.push({
23
+ repoPath: localDocument.repoPath,
24
+ documentId: localDocument.frontmatter.amistioDocumentId,
25
+ status: "conflicted",
26
+ reason: "web and repository revisions both changed"
27
+ });
28
+ }
29
+ else if (localDirty || decision === "pushRepo") {
30
+ items.push({
31
+ repoPath: localDocument.repoPath,
32
+ documentId: localDocument.frontmatter.amistioDocumentId,
33
+ status: "dirty",
34
+ reason: "repository content changed since last synced hash"
35
+ });
36
+ }
37
+ else if (decision === "pullWeb") {
38
+ items.push({
39
+ repoPath: localDocument.repoPath,
40
+ documentId: localDocument.frontmatter.amistioDocumentId,
41
+ status: "pending",
42
+ reason: "approved web revision is newer"
43
+ });
44
+ }
45
+ else if (localDocument.frontmatter.status && !["approved", "synced"].includes(localDocument.frontmatter.status)) {
46
+ items.push({
47
+ repoPath: localDocument.repoPath,
48
+ documentId: localDocument.frontmatter.amistioDocumentId,
49
+ status: "pending",
50
+ reason: `local document is ${localDocument.frontmatter.status}`
51
+ });
52
+ }
53
+ else {
54
+ items.push({
55
+ repoPath: localDocument.repoPath,
56
+ documentId: localDocument.frontmatter.amistioDocumentId,
57
+ status: "clean",
58
+ reason: "repository and web hashes match"
59
+ });
60
+ }
61
+ }
62
+ for (const webDocument of pullableWebDocuments) {
63
+ if (!localByDocumentId.has(webDocument.documentId)) {
64
+ items.push({
65
+ repoPath: webDocument.repoPath,
66
+ documentId: webDocument.documentId,
67
+ status: "pending",
68
+ reason: "approved web document has not been pulled"
69
+ });
70
+ }
71
+ }
72
+ const counts = {
73
+ clean: items.filter((item) => item.status === "clean").length,
74
+ pending: items.filter((item) => item.status === "pending").length,
75
+ dirty: items.filter((item) => item.status === "dirty").length,
76
+ conflicted: items.filter((item) => item.status === "conflicted").length
77
+ };
78
+ const status = counts.conflicted ? "conflicted" : counts.dirty ? "dirty" : counts.pending ? "pending" : "clean";
79
+ return { status, items, counts };
80
+ }
81
+ export async function readLocalSyncedDocuments(rootDir) {
82
+ const markdownFiles = await findMarkdownFiles(rootDir);
83
+ const documents = [];
84
+ for (const fullPath of markdownFiles) {
85
+ const raw = await readFile(fullPath, "utf8");
86
+ const parsed = parseSyncedMarkdown(raw);
87
+ if (!parsed) {
88
+ continue;
89
+ }
90
+ documents.push({
91
+ fullPath,
92
+ repoPath: toRepoPath(rootDir, fullPath),
93
+ frontmatter: parsed.frontmatter,
94
+ content: parsed.content,
95
+ contentHash: sha256ContentHash(parsed.content)
96
+ });
97
+ }
98
+ return documents;
99
+ }
100
+ export async function materializeBrainDocuments(rootDir, documents, options = {}) {
101
+ const result = { written: [], skipped: [], conflicts: [] };
102
+ for (const inputDocument of documents) {
103
+ const document = brainDocumentItemSchema.parse(inputDocument);
104
+ const fullPath = safeRepoPath(rootDir, document.repoPath);
105
+ if (!isControlPlanePath(document.repoPath)) {
106
+ result.conflicts.push(`${document.repoPath}: refusing to write outside root control-plane folders`);
107
+ continue;
108
+ }
109
+ const existing = await readExistingSyncedDocument(fullPath);
110
+ if (existing.exists && !existing.document) {
111
+ result.conflicts.push(`${document.repoPath}: file exists without Amistio document metadata`);
112
+ continue;
113
+ }
114
+ if (existing.document && existing.document.frontmatter.amistioDocumentId !== document.documentId) {
115
+ result.conflicts.push(`${document.repoPath}: file belongs to ${existing.document.frontmatter.amistioDocumentId}`);
116
+ continue;
117
+ }
118
+ if (existing.document && existing.document.contentHash !== existing.document.frontmatter.amistioContentHash && !options.allowDirtyOverwrite) {
119
+ result.conflicts.push(`${document.repoPath}: local edits would be overwritten`);
120
+ continue;
121
+ }
122
+ if (existing.document && existing.document.frontmatter.amistioRevision >= document.revision && existing.document.contentHash === document.contentHash) {
123
+ result.skipped.push(document.repoPath);
124
+ continue;
125
+ }
126
+ await mkdir(path.dirname(fullPath), { recursive: true });
127
+ await writeFile(fullPath, createSyncedDocumentMarkdown(document), "utf8");
128
+ result.written.push(document.repoPath);
129
+ }
130
+ return result;
131
+ }
132
+ export async function collectDirtyDocumentsForPush(rootDir, metadata) {
133
+ const localDocuments = await readLocalSyncedDocuments(rootDir);
134
+ const now = new Date().toISOString();
135
+ return localDocuments
136
+ .filter((document) => document.contentHash !== document.frontmatter.amistioContentHash)
137
+ .map((document) => {
138
+ const documentType = documentTypeSchema.parse(document.frontmatter.amistioDocumentType);
139
+ return brainDocumentItemSchema.parse({
140
+ id: document.frontmatter.amistioDocumentId,
141
+ type: "brainDocument",
142
+ schemaVersion: 1,
143
+ accountId: metadata.amistioAccountId,
144
+ projectId: metadata.amistioProjectId,
145
+ documentId: document.frontmatter.amistioDocumentId,
146
+ documentType,
147
+ title: inferTitle(document.content, document.repoPath),
148
+ status: "reviewing",
149
+ repoPath: document.repoPath,
150
+ content: document.content,
151
+ contentHash: document.contentHash,
152
+ frontmatter: parseFrontmatterFromSyncedDocument(document.frontmatter),
153
+ revision: document.frontmatter.amistioRevision + 1,
154
+ source: "repo",
155
+ syncState: "dirtyInRepo",
156
+ createdAt: now,
157
+ updatedAt: now
158
+ });
159
+ });
160
+ }
161
+ export function createSyncedDocumentMarkdown(document) {
162
+ return [
163
+ "---",
164
+ `amistioDocumentId: ${document.documentId}`,
165
+ `amistioDocumentType: ${document.documentType}`,
166
+ `amistioRevision: ${document.revision}`,
167
+ `amistioContentHash: ${document.contentHash}`,
168
+ `status: ${document.status}`,
169
+ "---",
170
+ document.content,
171
+ ""
172
+ ].join("\n");
173
+ }
174
+ function parseSyncedMarkdown(content) {
175
+ const rawFrontmatter = parseFrontmatter(content);
176
+ const frontmatter = syncedDocumentFrontmatterSchema.safeParse(rawFrontmatter);
177
+ if (!frontmatter.success) {
178
+ return undefined;
179
+ }
180
+ const closingMarker = content.indexOf("\n---", 4);
181
+ if (closingMarker === -1) {
182
+ return undefined;
183
+ }
184
+ const closingLineEnd = content.indexOf("\n", closingMarker + 4);
185
+ const bodyStart = closingLineEnd === -1 ? content.length : closingLineEnd + 1;
186
+ return { frontmatter: frontmatter.data, content: content.slice(bodyStart).replace(/\n$/, "") };
187
+ }
188
+ async function readExistingSyncedDocument(fullPath) {
189
+ try {
190
+ const raw = await readFile(fullPath, "utf8");
191
+ const parsed = parseSyncedMarkdown(raw);
192
+ if (!parsed) {
193
+ return { exists: true };
194
+ }
195
+ return {
196
+ exists: true,
197
+ document: {
198
+ fullPath,
199
+ repoPath: fullPath,
200
+ frontmatter: parsed.frontmatter,
201
+ content: parsed.content,
202
+ contentHash: sha256ContentHash(parsed.content)
203
+ }
204
+ };
205
+ }
206
+ catch (error) {
207
+ if (error.code === "ENOENT") {
208
+ return { exists: false };
209
+ }
210
+ throw error;
211
+ }
212
+ }
213
+ async function findMarkdownFiles(rootDir) {
214
+ const files = [];
215
+ for (const syncRoot of syncRoots) {
216
+ const fullRoot = path.join(rootDir, syncRoot);
217
+ if (!(await exists(fullRoot))) {
218
+ continue;
219
+ }
220
+ await walkMarkdownFiles(fullRoot, files);
221
+ }
222
+ return files;
223
+ }
224
+ async function walkMarkdownFiles(directory, files) {
225
+ for (const entry of await readdir(directory, { withFileTypes: true })) {
226
+ const fullPath = path.join(directory, entry.name);
227
+ if (entry.isDirectory()) {
228
+ await walkMarkdownFiles(fullPath, files);
229
+ }
230
+ else if (entry.isFile() && entry.name.endsWith(".md")) {
231
+ files.push(fullPath);
232
+ }
233
+ }
234
+ }
235
+ function safeRepoPath(rootDir, repoPath) {
236
+ if (path.isAbsolute(repoPath)) {
237
+ throw new Error(`Refusing to use absolute repo path: ${repoPath}`);
238
+ }
239
+ const normalized = path.normalize(repoPath);
240
+ if (normalized === ".." || normalized.startsWith(`..${path.sep}`)) {
241
+ throw new Error(`Refusing to use path outside the repository: ${repoPath}`);
242
+ }
243
+ const root = path.resolve(rootDir);
244
+ const fullPath = path.resolve(root, normalized);
245
+ if (!fullPath.startsWith(`${root}${path.sep}`)) {
246
+ throw new Error(`Refusing to use path outside the repository: ${repoPath}`);
247
+ }
248
+ return fullPath;
249
+ }
250
+ function isControlPlanePath(repoPath) {
251
+ const normalized = path.normalize(repoPath);
252
+ return syncRoots.some((syncRoot) => normalized === syncRoot || normalized.startsWith(`${syncRoot}${path.sep}`));
253
+ }
254
+ function toRepoPath(rootDir, fullPath) {
255
+ return path.relative(rootDir, fullPath).split(path.sep).join("/");
256
+ }
257
+ function inferTitle(content, repoPath) {
258
+ const heading = content.split("\n").find((line) => line.startsWith("# "))?.replace(/^#\s+/, "").trim();
259
+ return heading || path.basename(repoPath, path.extname(repoPath));
260
+ }
261
+ function parseFrontmatterFromSyncedDocument(frontmatter) {
262
+ return {
263
+ amistioDocumentId: frontmatter.amistioDocumentId,
264
+ amistioDocumentType: frontmatter.amistioDocumentType,
265
+ amistioRevision: frontmatter.amistioRevision,
266
+ amistioContentHash: frontmatter.amistioContentHash,
267
+ ...(frontmatter.status ? { status: frontmatter.status } : {})
268
+ };
269
+ }
270
+ async function exists(filePath) {
271
+ try {
272
+ await stat(filePath);
273
+ return true;
274
+ }
275
+ catch {
276
+ return false;
277
+ }
278
+ }
279
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class LocalToolSessionStore {
2
+ private readonly filePath;
3
+ constructor(filePath?: string);
4
+ getProviderSessionId(toolSessionId: string, toolName: string): Promise<string | undefined>;
5
+ setProviderSessionId(toolSessionId: string, toolName: string, providerSessionId: string): Promise<void>;
6
+ private read;
7
+ }
8
+ //# sourceMappingURL=tool-session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-session-store.d.ts","sourceRoot":"","sources":["../src/tool-session-store.ts"],"names":[],"mappings":"AAYA,qBAAa,qBAAqB;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,SAA4B;IAE3D,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAM1F,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAO/F,IAAI;CAOrB"}