@amistio/cli 0.1.0 → 0.1.1
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/dist/index.d.ts +0 -1
- package/dist/index.js +2451 -642
- package/dist/index.js.map +7 -1
- package/package.json +9 -6
- package/dist/api-client.d.ts +0 -175
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js +0 -116
- package/dist/api-client.js.map +0 -1
- package/dist/bootstrap.d.ts +0 -11
- package/dist/bootstrap.d.ts.map +0 -1
- package/dist/bootstrap.js +0 -66
- package/dist/bootstrap.js.map +0 -1
- package/dist/control-plane.d.ts +0 -11
- package/dist/control-plane.d.ts.map +0 -1
- package/dist/control-plane.js +0 -91
- package/dist/control-plane.js.map +0 -1
- package/dist/credential-store.d.ts +0 -9
- package/dist/credential-store.d.ts.map +0 -1
- package/dist/credential-store.js +0 -32
- package/dist/credential-store.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/local-tool-runner.d.ts +0 -93
- package/dist/local-tool-runner.d.ts.map +0 -1
- package/dist/local-tool-runner.js +0 -472
- package/dist/local-tool-runner.js.map +0 -1
- package/dist/orchestrator.d.ts +0 -7
- package/dist/orchestrator.d.ts.map +0 -1
- package/dist/orchestrator.js +0 -61
- package/dist/orchestrator.js.map +0 -1
- package/dist/session-policy.d.ts +0 -20
- package/dist/session-policy.d.ts.map +0 -1
- package/dist/session-policy.js +0 -125
- package/dist/session-policy.js.map +0 -1
- package/dist/sync.d.ts +0 -33
- package/dist/sync.d.ts.map +0 -1
- package/dist/sync.js +0 -279
- package/dist/sync.js.map +0 -1
- package/dist/tool-session-store.d.ts +0 -8
- package/dist/tool-session-store.d.ts.map +0 -1
- package/dist/tool-session-store.js +0 -38
- package/dist/tool-session-store.js.map +0 -1
- package/dist/work-runner.d.ts +0 -4
- package/dist/work-runner.d.ts.map +0 -1
- package/dist/work-runner.js +0 -100
- 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.
|
|
3
|
+
"version": "0.1.1",
|
|
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
|
|
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
|
}
|
package/dist/api-client.d.ts
DELETED
|
@@ -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
|
package/dist/api-client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/api-client.js
DELETED
|
@@ -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
|
package/dist/api-client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EAKzB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EASjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiFxB,MAAM,OAAO,SAAS;IACW;IAA7B,YAA6B,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAI,CAAC;IAE3D,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QACxC,OAAO,IAAI,CAAC,OAAO,CACf,kBAAkB,EAClB,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAC5D;YACI,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;SACtC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,KAA6I;QACrK,OAAO,IAAI,CAAC,OAAO,CACf,kBAAkB,EAClB,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAChF;YACI,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC9B,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,QAAgB,EAAE,gBAAwB,EAAE,YAAY,GAAG,GAAG;QAC7F,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,mBAAmB,EACzC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC7F;YACI,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;SACrE,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,aAAa,EACnC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAChD,EAAE,MAAM,EAAE,KAAK,EAAE,CACpB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,kBAAkB,EACxC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,EACzD,EAAE,MAAM,EAAE,KAAK,EAAE,CACpB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,SAA8B;QACtE,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,kBAAkB,EACxC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,EACzD;YACI,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;SACtC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,QAAgB,EAAE,gBAAwB,EAAE,MAA6B,EAAE,OAAgB;QACpI,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,UAAU,EAChC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,EAC/C;YACI,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;SACtI,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,gBAAgB,EACtC,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAC1D,EAAE,MAAM,EAAE,KAAK,EAAE,CACpB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,OAAoF;QAC3H,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,gBAAgB,EACtC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,EAChD;YACI,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAChC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,aAAqB,EAAE,OAA4B;QAC1F,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,kBAAkB,aAAa,EAAE,EACvD,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,EAChD;YACI,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAChC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,UAAkB,EAAE,MAAkB,EAAE,cAAsB,EAAE,QAAiB,EAAE,YAAiC,EAAE;QAC5J,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,eAAe,UAAU,SAAS,EACxD,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,EACtC;YACI,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;SACpG,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,SAAiB,EAAE,UAAkB,EAAE,MAAqC;QAC1G,OAAO,IAAI,CAAC,OAAO,CACf,aAAa,SAAS,eAAe,UAAU,oBAAoB,EACnE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,EACpH;YACI,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC/B,CACJ,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,OAAe,EAAE,MAAsB,EAAE,IAAiB;QAC/E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YACtE,GAAG,IAAI;YACP,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnF;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5H,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,iBAAiB,EAAE,8BAA8B,CAAC,QAAQ,EAAE;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC1C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACvD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC/D,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,WAAW,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC3C,eAAe,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,MAAc,EAAE,OAAe;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;IAC/D,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/bootstrap.d.ts
DELETED
|
@@ -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
|
package/dist/bootstrap.d.ts.map
DELETED
|
@@ -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
|
package/dist/bootstrap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/control-plane.d.ts
DELETED
|
@@ -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"}
|
package/dist/control-plane.js
DELETED
|
@@ -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"}
|
package/dist/credential-store.js
DELETED
|
@@ -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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|