@amistio/cli 0.1.0 → 0.1.2

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 +2 -2
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +3493 -642
  4. package/dist/index.js.map +7 -1
  5. package/package.json +9 -6
  6. package/dist/api-client.d.ts +0 -175
  7. package/dist/api-client.d.ts.map +0 -1
  8. package/dist/api-client.js +0 -116
  9. package/dist/api-client.js.map +0 -1
  10. package/dist/bootstrap.d.ts +0 -11
  11. package/dist/bootstrap.d.ts.map +0 -1
  12. package/dist/bootstrap.js +0 -66
  13. package/dist/bootstrap.js.map +0 -1
  14. package/dist/control-plane.d.ts +0 -11
  15. package/dist/control-plane.d.ts.map +0 -1
  16. package/dist/control-plane.js +0 -91
  17. package/dist/control-plane.js.map +0 -1
  18. package/dist/credential-store.d.ts +0 -9
  19. package/dist/credential-store.d.ts.map +0 -1
  20. package/dist/credential-store.js +0 -32
  21. package/dist/credential-store.js.map +0 -1
  22. package/dist/index.d.ts.map +0 -1
  23. package/dist/local-tool-runner.d.ts +0 -93
  24. package/dist/local-tool-runner.d.ts.map +0 -1
  25. package/dist/local-tool-runner.js +0 -472
  26. package/dist/local-tool-runner.js.map +0 -1
  27. package/dist/orchestrator.d.ts +0 -7
  28. package/dist/orchestrator.d.ts.map +0 -1
  29. package/dist/orchestrator.js +0 -61
  30. package/dist/orchestrator.js.map +0 -1
  31. package/dist/session-policy.d.ts +0 -20
  32. package/dist/session-policy.d.ts.map +0 -1
  33. package/dist/session-policy.js +0 -125
  34. package/dist/session-policy.js.map +0 -1
  35. package/dist/sync.d.ts +0 -33
  36. package/dist/sync.d.ts.map +0 -1
  37. package/dist/sync.js +0 -279
  38. package/dist/sync.js.map +0 -1
  39. package/dist/tool-session-store.d.ts +0 -8
  40. package/dist/tool-session-store.d.ts.map +0 -1
  41. package/dist/tool-session-store.js +0 -38
  42. package/dist/tool-session-store.js.map +0 -1
  43. package/dist/work-runner.d.ts +0 -4
  44. package/dist/work-runner.d.ts.map +0 -1
  45. package/dist/work-runner.js +0 -100
  46. package/dist/work-runner.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amistio/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,14 +27,17 @@
27
27
  "@openai/codex-sdk": "^0.130.0",
28
28
  "@opencode-ai/sdk": "^1.15.0",
29
29
  "commander": "^14.0.2",
30
- "zod": "^4.1.13",
30
+ "zod": "^4.1.13"
31
+ },
32
+ "devDependencies": {
33
+ "esbuild": "^0.28.0",
31
34
  "@amistio/shared": "0.1.0"
32
35
  },
33
36
  "scripts": {
34
- "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json",
37
+ "build": "node scripts/build.mjs",
35
38
  "dev": "tsx src/index.ts",
36
- "lint": "tsc -p tsconfig.json --noEmit",
37
- "test": "vitest run src",
38
- "typecheck": "tsc -p tsconfig.json --noEmit"
39
+ "lint": "corepack pnpm --filter @amistio/shared build && tsc -p tsconfig.json --noEmit",
40
+ "test": "corepack pnpm --filter @amistio/shared build && vitest run src",
41
+ "typecheck": "corepack pnpm --filter @amistio/shared build && tsc -p tsconfig.json --noEmit"
39
42
  }
40
43
  }
@@ -1,175 +0,0 @@
1
- import { type BrainDocumentItem, type GeneratedBrainArtifact, type GeneratedDraftItem, type RepositoryLinkItem, type ExecutionMode, type RunnerHeartbeatItem, type SessionDecision, type SessionPolicy, type SessionResumabilityScope, type ToolSessionItem, type WorkItem, type WorkStatus } from "@amistio/shared";
2
- import { z } from "zod";
3
- export interface ApiClientOptions {
4
- apiUrl: string;
5
- accountId: string;
6
- token?: string;
7
- }
8
- export interface WorkStatusTelemetry {
9
- executionMode?: ExecutionMode;
10
- message?: string;
11
- tool?: string;
12
- model?: string;
13
- durationMs?: number;
14
- costUsd?: number;
15
- tokensIn?: number;
16
- tokensOut?: number;
17
- sessionPolicy?: SessionPolicy;
18
- sessionGroupKey?: string;
19
- toolSessionId?: string;
20
- sessionDecision?: SessionDecision;
21
- sessionDecisionReason?: string;
22
- error?: string;
23
- }
24
- export type BrainGenerationResultMutation = {
25
- status: "completed";
26
- runnerId: string;
27
- idempotencyKey: string;
28
- artifacts: GeneratedBrainArtifact[];
29
- tool?: string;
30
- durationMs?: number;
31
- sessionPolicy?: SessionPolicy;
32
- sessionGroupKey?: string;
33
- toolSessionId?: string;
34
- sessionDecision?: SessionDecision;
35
- sessionDecisionReason?: string;
36
- message?: string;
37
- } | {
38
- status: "failed";
39
- runnerId: string;
40
- idempotencyKey: string;
41
- tool?: string;
42
- durationMs?: number;
43
- sessionPolicy?: SessionPolicy;
44
- sessionGroupKey?: string;
45
- toolSessionId?: string;
46
- sessionDecision?: SessionDecision;
47
- sessionDecisionReason?: string;
48
- message?: string;
49
- error?: string;
50
- };
51
- export interface ToolSessionMutation {
52
- toolSessionId?: string;
53
- repositoryLinkId?: string;
54
- tool?: string;
55
- provider?: string;
56
- model?: string;
57
- resumabilityScope?: SessionResumabilityScope;
58
- title?: string;
59
- summary?: string;
60
- tags?: string[];
61
- relatedDocumentIds?: string[];
62
- status?: ToolSessionItem["status"];
63
- createdByUserId?: string;
64
- runnerId?: string;
65
- lastWorkItemId?: string;
66
- messageCount?: number;
67
- estimatedInputTokens?: number;
68
- estimatedOutputTokens?: number;
69
- costUsd?: number;
70
- sessionGroupKey?: string;
71
- reusePolicy?: SessionPolicy;
72
- closedReason?: string;
73
- }
74
- export type RunnerHeartbeatStatus = "online" | "offline" | "running" | "blocked";
75
- export declare class ApiClient {
76
- private readonly options;
77
- constructor(options: ApiClientOptions);
78
- createPairingSession(projectId: string): Promise<{
79
- pairingCode: string;
80
- expiresAt: string;
81
- }>;
82
- consumePairingSession(input: {
83
- projectId: string;
84
- pairingCode: string;
85
- repositoryLinkId: string;
86
- repoName: string;
87
- repoFingerprint: string;
88
- defaultBranch: string;
89
- }): Promise<{
90
- repositoryLink: RepositoryLinkItem;
91
- token: string;
92
- }>;
93
- claimWork(projectId: string, runnerId: string, repositoryLinkId: string, leaseSeconds?: number): Promise<{
94
- workItem: WorkItem | undefined;
95
- }>;
96
- listWorkItems(projectId: string): Promise<{
97
- workItems: WorkItem[];
98
- }>;
99
- listBrainDocuments(projectId: string): Promise<{
100
- documents: BrainDocumentItem[];
101
- }>;
102
- pushBrainDocuments(projectId: string, documents: BrainDocumentItem[]): Promise<{
103
- documents: BrainDocumentItem[];
104
- }>;
105
- sendRunnerHeartbeat(projectId: string, runnerId: string, repositoryLinkId: string, status: RunnerHeartbeatStatus, version?: string): Promise<{
106
- runner: RunnerHeartbeatItem;
107
- }>;
108
- listToolSessions(projectId: string): Promise<{
109
- toolSessions: ToolSessionItem[];
110
- }>;
111
- createToolSession(projectId: string, session: Required<Pick<ToolSessionMutation, "tool" | "title">> & ToolSessionMutation): Promise<{
112
- toolSession: ToolSessionItem;
113
- }>;
114
- updateToolSession(projectId: string, toolSessionId: string, session: ToolSessionMutation): Promise<{
115
- toolSession: ToolSessionItem;
116
- }>;
117
- updateWorkStatus(projectId: string, workItemId: string, status: WorkStatus, idempotencyKey: string, runnerId?: string, telemetry?: WorkStatusTelemetry): Promise<{
118
- workItem: WorkItem;
119
- }>;
120
- submitBrainGenerationResult(projectId: string, workItemId: string, result: BrainGenerationResultMutation): Promise<{
121
- draft: GeneratedDraftItem;
122
- documents: BrainDocumentItem[];
123
- workItem: WorkItem;
124
- }>;
125
- private request;
126
- }
127
- export declare const toolSessionMutationSchema: z.ZodObject<{
128
- toolSessionId: z.ZodOptional<z.ZodString>;
129
- repositoryLinkId: z.ZodOptional<z.ZodString>;
130
- tool: z.ZodOptional<z.ZodString>;
131
- provider: z.ZodOptional<z.ZodString>;
132
- model: z.ZodOptional<z.ZodString>;
133
- resumabilityScope: z.ZodOptional<z.ZodEnum<{
134
- account: "account";
135
- none: "none";
136
- localMachine: "localMachine";
137
- repository: "repository";
138
- providerCloud: "providerCloud";
139
- }>>;
140
- title: z.ZodOptional<z.ZodString>;
141
- summary: z.ZodOptional<z.ZodString>;
142
- tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
143
- relatedDocumentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
144
- status: z.ZodOptional<z.ZodEnum<{
145
- archived: "archived";
146
- blocked: "blocked";
147
- open: "open";
148
- active: "active";
149
- closed: "closed";
150
- unavailable: "unavailable";
151
- }>>;
152
- createdByUserId: z.ZodOptional<z.ZodString>;
153
- runnerId: z.ZodOptional<z.ZodString>;
154
- lastWorkItemId: z.ZodOptional<z.ZodString>;
155
- messageCount: z.ZodOptional<z.ZodNumber>;
156
- estimatedInputTokens: z.ZodOptional<z.ZodNumber>;
157
- estimatedOutputTokens: z.ZodOptional<z.ZodNumber>;
158
- costUsd: z.ZodOptional<z.ZodNumber>;
159
- sessionGroupKey: z.ZodOptional<z.ZodString>;
160
- reusePolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
161
- auto: "auto";
162
- new: "new";
163
- none: "none";
164
- }>, z.ZodString]>>;
165
- sessionDecision: z.ZodOptional<z.ZodEnum<{
166
- created: "created";
167
- continued: "continued";
168
- forcedNew: "forcedNew";
169
- forcedContinue: "forcedContinue";
170
- notSupported: "notSupported";
171
- skipped: "skipped";
172
- }>>;
173
- closedReason: z.ZodOptional<z.ZodString>;
174
- }, z.core.$strip>;
175
- //# sourceMappingURL=api-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -1,116 +0,0 @@
1
- import { brainDocumentItemSchema, generatedDraftItemSchema, repositoryLinkItemSchema, runnerHeartbeatItemSchema, sessionDecisionSchema, sessionPolicySchema, sessionResumabilityScopeSchema, toolSessionItemSchema, toolSessionStatusSchema, workItemSchema } from "@amistio/shared";
2
- import { z } from "zod";
3
- export class ApiClient {
4
- options;
5
- constructor(options) {
6
- this.options = options;
7
- }
8
- async createPairingSession(projectId) {
9
- return this.request("pairing-sessions", z.object({ pairingCode: z.string(), expiresAt: z.string() }), {
10
- method: "POST",
11
- body: JSON.stringify({ projectId })
12
- });
13
- }
14
- async consumePairingSession(input) {
15
- return this.request("pairing-sessions", z.object({ repositoryLink: repositoryLinkItemSchema, token: z.string().min(1) }), {
16
- method: "PATCH",
17
- body: JSON.stringify(input)
18
- });
19
- }
20
- async claimWork(projectId, runnerId, repositoryLinkId, leaseSeconds = 300) {
21
- return this.request(`/projects/${projectId}/work-items/claim`, z.object({ workItem: workItemSchema.optional() }).transform(({ workItem }) => ({ workItem })), {
22
- method: "POST",
23
- body: JSON.stringify({ runnerId, repositoryLinkId, leaseSeconds })
24
- });
25
- }
26
- async listWorkItems(projectId) {
27
- return this.request(`/projects/${projectId}/work-items`, z.object({ workItems: z.array(workItemSchema) }), { method: "GET" });
28
- }
29
- async listBrainDocuments(projectId) {
30
- return this.request(`/projects/${projectId}/brain-documents`, z.object({ documents: z.array(brainDocumentItemSchema) }), { method: "GET" });
31
- }
32
- async pushBrainDocuments(projectId, documents) {
33
- return this.request(`/projects/${projectId}/brain-documents`, z.object({ documents: z.array(brainDocumentItemSchema) }), {
34
- method: "POST",
35
- body: JSON.stringify({ documents })
36
- });
37
- }
38
- async sendRunnerHeartbeat(projectId, runnerId, repositoryLinkId, status, version) {
39
- return this.request(`/projects/${projectId}/runners`, z.object({ runner: runnerHeartbeatItemSchema }), {
40
- method: "POST",
41
- body: JSON.stringify({ runnerId, repositoryLinkId, status, ...(version ? { version } : {}), lastSeenAt: new Date().toISOString() })
42
- });
43
- }
44
- async listToolSessions(projectId) {
45
- return this.request(`/projects/${projectId}/tool-sessions`, z.object({ toolSessions: z.array(toolSessionItemSchema) }), { method: "GET" });
46
- }
47
- async createToolSession(projectId, session) {
48
- return this.request(`/projects/${projectId}/tool-sessions`, z.object({ toolSession: toolSessionItemSchema }), {
49
- method: "POST",
50
- body: JSON.stringify(session)
51
- });
52
- }
53
- async updateToolSession(projectId, toolSessionId, session) {
54
- return this.request(`/projects/${projectId}/tool-sessions/${toolSessionId}`, z.object({ toolSession: toolSessionItemSchema }), {
55
- method: "PATCH",
56
- body: JSON.stringify(session)
57
- });
58
- }
59
- async updateWorkStatus(projectId, workItemId, status, idempotencyKey, runnerId, telemetry = {}) {
60
- return this.request(`/projects/${projectId}/work-items/${workItemId}/status`, z.object({ workItem: workItemSchema }), {
61
- method: "PATCH",
62
- body: JSON.stringify({ status, idempotencyKey, ...(runnerId ? { runnerId } : {}), ...telemetry })
63
- });
64
- }
65
- async submitBrainGenerationResult(projectId, workItemId, result) {
66
- return this.request(`/projects/${projectId}/work-items/${workItemId}/generation-result`, z.object({ draft: generatedDraftItemSchema, documents: z.array(brainDocumentItemSchema), workItem: workItemSchema }), {
67
- method: "POST",
68
- body: JSON.stringify(result)
69
- });
70
- }
71
- async request(urlPath, schema, init) {
72
- const response = await fetch(resolveApiUrl(this.options.apiUrl, urlPath), {
73
- ...init,
74
- headers: {
75
- "content-type": "application/json",
76
- "x-amistio-account-id": this.options.accountId,
77
- ...(this.options.token ? { authorization: `Bearer ${this.options.token}` } : {})
78
- }
79
- });
80
- if (!response.ok) {
81
- const detail = await response.text().catch(() => "");
82
- throw new Error(`Amistio API request failed: ${response.status} ${response.statusText}${detail ? ` - ${detail}` : ""}`);
83
- }
84
- return schema.parse(await response.json());
85
- }
86
- }
87
- export const toolSessionMutationSchema = z.object({
88
- toolSessionId: z.string().min(1).optional(),
89
- repositoryLinkId: z.string().min(1).optional(),
90
- tool: z.string().min(1).optional(),
91
- provider: z.string().min(1).optional(),
92
- model: z.string().min(1).optional(),
93
- resumabilityScope: sessionResumabilityScopeSchema.optional(),
94
- title: z.string().min(1).optional(),
95
- summary: z.string().optional(),
96
- tags: z.array(z.string()).optional(),
97
- relatedDocumentIds: z.array(z.string()).optional(),
98
- status: toolSessionStatusSchema.optional(),
99
- createdByUserId: z.string().min(1).optional(),
100
- runnerId: z.string().min(1).optional(),
101
- lastWorkItemId: z.string().min(1).optional(),
102
- messageCount: z.number().int().nonnegative().optional(),
103
- estimatedInputTokens: z.number().int().nonnegative().optional(),
104
- estimatedOutputTokens: z.number().int().nonnegative().optional(),
105
- costUsd: z.number().nonnegative().optional(),
106
- sessionGroupKey: z.string().min(1).optional(),
107
- reusePolicy: sessionPolicySchema.optional(),
108
- sessionDecision: sessionDecisionSchema.optional(),
109
- closedReason: z.string().optional()
110
- });
111
- function resolveApiUrl(apiUrl, urlPath) {
112
- const base = apiUrl.endsWith("/") ? apiUrl.slice(0, -1) : apiUrl;
113
- const path = urlPath.startsWith("/") ? urlPath : `/${urlPath}`;
114
- return new URL(`${base}${path}`);
115
- }
116
- //# sourceMappingURL=api-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export interface BootstrapCheckoutResult {
2
- status: "cloned" | "validated";
3
- targetDir: string;
4
- originUrl?: string;
5
- }
6
- export declare function buildGitCloneArgs(repoUrl: string, targetDir: string): string[];
7
- export declare function cloneOrValidateRepository({ repoUrl, targetDir }: {
8
- repoUrl: string;
9
- targetDir: string;
10
- }): Promise<BootstrapCheckoutResult>;
11
- //# sourceMappingURL=bootstrap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9E;AAED,wBAAsB,yBAAyB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAgChJ"}
package/dist/bootstrap.js DELETED
@@ -1,66 +0,0 @@
1
- import { execFile } from "node:child_process";
2
- import { mkdir, readdir, stat } from "node:fs/promises";
3
- import path from "node:path";
4
- import { promisify } from "node:util";
5
- import { repositoryCloneUrlsMatch } from "@amistio/shared";
6
- const execFileAsync = promisify(execFile);
7
- export function buildGitCloneArgs(repoUrl, targetDir) {
8
- return ["clone", repoUrl, targetDir];
9
- }
10
- export async function cloneOrValidateRepository({ repoUrl, targetDir }) {
11
- const resolvedTarget = path.resolve(targetDir);
12
- const targetStat = await stat(resolvedTarget).catch((error) => {
13
- if (isNotFoundError(error))
14
- return undefined;
15
- throw error;
16
- });
17
- if (!targetStat) {
18
- await mkdir(path.dirname(resolvedTarget), { recursive: true });
19
- await runGit(buildGitCloneArgs(repoUrl, resolvedTarget), "clone");
20
- return { status: "cloned", targetDir: resolvedTarget };
21
- }
22
- if (!targetStat.isDirectory()) {
23
- throw new Error("Bootstrap target exists and is not a directory.");
24
- }
25
- if (await isGitCheckout(resolvedTarget)) {
26
- const originUrl = await runGit(["-C", resolvedTarget, "remote", "get-url", "origin"], "remote");
27
- if (!repositoryCloneUrlsMatch(repoUrl, originUrl)) {
28
- throw new Error("Bootstrap target is a Git checkout for a different repository.");
29
- }
30
- return { status: "validated", targetDir: resolvedTarget, originUrl };
31
- }
32
- const entries = await readdir(resolvedTarget);
33
- if (entries.length > 0) {
34
- throw new Error("Bootstrap target exists, is not empty, and is not the linked repository checkout.");
35
- }
36
- await runGit(buildGitCloneArgs(repoUrl, resolvedTarget), "clone");
37
- return { status: "cloned", targetDir: resolvedTarget };
38
- }
39
- async function isGitCheckout(targetDir) {
40
- try {
41
- const result = await runGit(["-C", targetDir, "rev-parse", "--is-inside-work-tree"], "rev-parse");
42
- return result.trim() === "true";
43
- }
44
- catch {
45
- return false;
46
- }
47
- }
48
- async function runGit(args, operation) {
49
- try {
50
- const { stdout } = await execFileAsync("git", args, { maxBuffer: 1024 * 1024 });
51
- return stdout.trim();
52
- }
53
- catch {
54
- if (operation === "clone") {
55
- throw new Error("git clone failed. Confirm local Git credentials can access the repository.");
56
- }
57
- if (operation === "remote") {
58
- throw new Error("Could not read the target checkout origin remote.");
59
- }
60
- throw new Error("Could not inspect the target Git checkout.");
61
- }
62
- }
63
- function isNotFoundError(error) {
64
- return Boolean(error && typeof error === "object" && "code" in error && error.code === "ENOENT");
65
- }
66
- //# sourceMappingURL=bootstrap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { type RepoLinkMetadata } from "@amistio/shared";
2
- export declare const controlPlaneFolders: readonly ["architecture", "context", "decisions", "features", "memory", "plans", string, "workflows"];
3
- export declare function initControlPlane(rootDir: string): Promise<string[]>;
4
- export declare function inspectControlPlane(rootDir: string): Promise<{
5
- present: string[];
6
- missing: string[];
7
- }>;
8
- export declare function writeProjectLink(rootDir: string, metadata: RepoLinkMetadata): Promise<string>;
9
- export declare function readProjectLink(rootDir: string): Promise<RepoLinkMetadata | undefined>;
10
- export declare function parseFrontmatter(content: string): Record<string, string>;
11
- //# sourceMappingURL=control-plane.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqD,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE3G,eAAO,MAAM,mBAAmB,uGAStB,CAAC;AAEX,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBzE;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAa5G;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnG;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAS5F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxE"}
@@ -1,91 +0,0 @@
1
- import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
2
- import path from "node:path";
3
- import { createProjectLinkMarkdown, repoLinkMetadataSchema } from "@amistio/shared";
4
- export const controlPlaneFolders = [
5
- "architecture",
6
- "context",
7
- "decisions",
8
- "features",
9
- "memory",
10
- "plans",
11
- path.join("prompts", "shared"),
12
- "workflows"
13
- ];
14
- export async function initControlPlane(rootDir) {
15
- const created = [];
16
- for (const folder of controlPlaneFolders) {
17
- const fullPath = path.join(rootDir, folder);
18
- if (!(await exists(fullPath))) {
19
- await mkdir(fullPath, { recursive: true });
20
- created.push(folder);
21
- }
22
- }
23
- await writeIfMissing(path.join(rootDir, "AGENTS.md"), "# Agents\n\nRoot control-plane folders are the project brain. Keep architecture, context, decisions, features, memory, plans, prompts, and workflows in sync with product intent.\n");
24
- await writeIfMissing(path.join(rootDir, "context", "product.md"), "# Product Context\n\nDescribe the product direction here.\n");
25
- await writeIfMissing(path.join(rootDir, "architecture", "overview.md"), "# Architecture Overview\n\nDescribe the system shape here.\n");
26
- return created;
27
- }
28
- export async function inspectControlPlane(rootDir) {
29
- const present = [];
30
- const missing = [];
31
- for (const folder of controlPlaneFolders) {
32
- if (await exists(path.join(rootDir, folder))) {
33
- present.push(folder);
34
- }
35
- else {
36
- missing.push(folder);
37
- }
38
- }
39
- return { present, missing };
40
- }
41
- export async function writeProjectLink(rootDir, metadata) {
42
- const contextDir = path.join(rootDir, "context");
43
- await mkdir(contextDir, { recursive: true });
44
- const filePath = path.join(contextDir, "amistio-project.md");
45
- await writeFile(filePath, createProjectLinkMarkdown(metadata), "utf8");
46
- return filePath;
47
- }
48
- export async function readProjectLink(rootDir) {
49
- const filePath = path.join(rootDir, "context", "amistio-project.md");
50
- if (!(await exists(filePath))) {
51
- return undefined;
52
- }
53
- const content = await readFile(filePath, "utf8");
54
- const frontmatter = parseFrontmatter(content);
55
- return repoLinkMetadataSchema.parse(frontmatter);
56
- }
57
- export function parseFrontmatter(content) {
58
- if (!content.startsWith("---\n")) {
59
- return {};
60
- }
61
- const end = content.indexOf("\n---", 4);
62
- if (end === -1) {
63
- return {};
64
- }
65
- const lines = content.slice(4, end).split("\n");
66
- return Object.fromEntries(lines
67
- .map((line) => {
68
- const separator = line.indexOf(":");
69
- if (separator === -1) {
70
- return undefined;
71
- }
72
- return [line.slice(0, separator).trim(), line.slice(separator + 1).trim()];
73
- })
74
- .filter((entry) => Boolean(entry)));
75
- }
76
- async function writeIfMissing(filePath, content) {
77
- if (await exists(filePath)) {
78
- return;
79
- }
80
- await writeFile(filePath, content, "utf8");
81
- }
82
- async function exists(filePath) {
83
- try {
84
- await stat(filePath);
85
- return true;
86
- }
87
- catch {
88
- return false;
89
- }
90
- }
91
- //# sourceMappingURL=control-plane.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export declare class LocalCredentialStore {
2
- private readonly filePath;
3
- constructor(filePath?: string);
4
- set(key: string, value: string): Promise<void>;
5
- get(key: string): Promise<string | undefined>;
6
- private read;
7
- }
8
- export declare function credentialKey(accountId: string, projectId: string, repositoryLinkId: string): string;
9
- //# sourceMappingURL=credential-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"AAQA,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,SAAoE;IAEnG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAKrC,IAAI;CAOnB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEpG"}
@@ -1,32 +0,0 @@
1
- import { chmod, mkdir, readFile, writeFile } from "node:fs/promises";
2
- import os from "node:os";
3
- import path from "node:path";
4
- export class LocalCredentialStore {
5
- filePath;
6
- constructor(filePath = path.join(os.homedir(), ".config", "amistio", "credentials.json")) {
7
- this.filePath = filePath;
8
- }
9
- async set(key, value) {
10
- const data = await this.read();
11
- data.credentials[key] = value;
12
- await mkdir(path.dirname(this.filePath), { recursive: true });
13
- await writeFile(this.filePath, JSON.stringify(data, null, 2), { encoding: "utf8", mode: 0o600 });
14
- await chmod(this.filePath, 0o600);
15
- }
16
- async get(key) {
17
- const data = await this.read();
18
- return data.credentials[key];
19
- }
20
- async read() {
21
- try {
22
- return JSON.parse(await readFile(this.filePath, "utf8"));
23
- }
24
- catch {
25
- return { credentials: {} };
26
- }
27
- }
28
- }
29
- export function credentialKey(accountId, projectId, repositoryLinkId) {
30
- return `${accountId}:${projectId}:${repositoryLinkId}`;
31
- }
32
- //# sourceMappingURL=credential-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC;QAA5E,aAAQ,GAAR,QAAQ,CAAoE;IAAG,CAAC;IAE7G,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAyB,CAAC;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,SAAiB,EAAE,gBAAwB;IAC1F,OAAO,GAAG,SAAS,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;AACzD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}