@mestreyoda/fabrica 0.2.29 → 0.2.30
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.js +74 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -113905,8 +113905,8 @@ import fsSync from "node:fs";
|
|
|
113905
113905
|
import path5 from "node:path";
|
|
113906
113906
|
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
113907
113907
|
function getCurrentVersion() {
|
|
113908
|
-
if ("0.2.
|
|
113909
|
-
return "0.2.
|
|
113908
|
+
if ("0.2.30") {
|
|
113909
|
+
return "0.2.30";
|
|
113910
113910
|
}
|
|
113911
113911
|
try {
|
|
113912
113912
|
const pkgPath = path5.join(THIS_DIR, "..", "..", "package.json");
|
|
@@ -142992,6 +142992,78 @@ async function handleTelegramBootstrapDmMessage(ctx, rawConversationId, content)
|
|
|
142992
142992
|
));
|
|
142993
142993
|
return;
|
|
142994
142994
|
}
|
|
142995
|
+
if (existingSession?.status === "completed" && !sessionIsExpired && existingSession.triageReadyForDispatch === false && existingSession.issueId && existingSession.projectSlug && existingSession.triageErrors?.includes("dor_auth_requirements_missing") && content.trim().length >= 12) {
|
|
142996
|
+
const projects = await readProjects(workspaceDir).catch(() => null);
|
|
142997
|
+
const project = existingSession.projectSlug ? projects?.projects?.[existingSession.projectSlug] : null;
|
|
142998
|
+
if (project?.repo) {
|
|
142999
|
+
const { provider } = await createProvider({
|
|
143000
|
+
repo: project.repo,
|
|
143001
|
+
provider: project.provider,
|
|
143002
|
+
runCommand: ctx.runCommand,
|
|
143003
|
+
pluginConfig: ctx.pluginConfig,
|
|
143004
|
+
providerProfile: project.providerProfile
|
|
143005
|
+
});
|
|
143006
|
+
const issue2 = await provider.getIssue(existingSession.issueId).catch(() => null);
|
|
143007
|
+
const clarificationBlock = [
|
|
143008
|
+
"## Human Clarification",
|
|
143009
|
+
"",
|
|
143010
|
+
content.trim()
|
|
143011
|
+
].join("\n");
|
|
143012
|
+
const currentBody = issue2?.description ?? "";
|
|
143013
|
+
const nextBody = currentBody.includes("## Human Clarification") ? `${currentBody.trim()}
|
|
143014
|
+
|
|
143015
|
+
${content.trim()}` : `${currentBody.trim()}
|
|
143016
|
+
|
|
143017
|
+
${clarificationBlock}`.trim();
|
|
143018
|
+
await provider.editIssue(existingSession.issueId, { body: nextBody }).catch(() => {
|
|
143019
|
+
});
|
|
143020
|
+
await provider.addComment(existingSession.issueId, [
|
|
143021
|
+
"\u2705 Telegram clarification received; resuming automatic dispatch.",
|
|
143022
|
+
"",
|
|
143023
|
+
content.trim()
|
|
143024
|
+
].join("\n")).catch(() => {
|
|
143025
|
+
});
|
|
143026
|
+
await provider.removeLabels(existingSession.issueId, ["needs-human"]).catch(() => {
|
|
143027
|
+
});
|
|
143028
|
+
await provider.transitionLabel(existingSession.issueId, "Planning", "To Do").catch(() => {
|
|
143029
|
+
});
|
|
143030
|
+
await provider.addLabel(existingSession.issueId, "developer:medior").catch(() => {
|
|
143031
|
+
});
|
|
143032
|
+
const resumedSession = await upsertTelegramBootstrapSession(workspaceDir, {
|
|
143033
|
+
conversationId,
|
|
143034
|
+
rawIdea: `${existingSession.rawIdea}
|
|
143035
|
+
|
|
143036
|
+
Clarification:
|
|
143037
|
+
${content.trim()}`,
|
|
143038
|
+
projectName: existingSession.projectName ?? void 0,
|
|
143039
|
+
stackHint: existingSession.stackHint ?? void 0,
|
|
143040
|
+
repoUrl: existingSession.repoUrl ?? void 0,
|
|
143041
|
+
repoPath: existingSession.repoPath ?? void 0,
|
|
143042
|
+
sourceRoute: existingSession.sourceRoute,
|
|
143043
|
+
projectRoute: existingSession.projectRoute,
|
|
143044
|
+
projectSlug: existingSession.projectSlug,
|
|
143045
|
+
issueId: existingSession.issueId,
|
|
143046
|
+
issueUrl: existingSession.issueUrl,
|
|
143047
|
+
triageReadyForDispatch: true,
|
|
143048
|
+
triageErrors: [],
|
|
143049
|
+
projectChannelId: existingSession.projectChannelId,
|
|
143050
|
+
messageThreadId: existingSession.messageThreadId,
|
|
143051
|
+
language: existingSession.language,
|
|
143052
|
+
status: "dispatching",
|
|
143053
|
+
bootstrapStep: existingSession.bootstrapStep ?? "project_registered",
|
|
143054
|
+
projectRegisteredAt: existingSession.projectRegisteredAt,
|
|
143055
|
+
topicKickoffSentAt: existingSession.topicKickoffSentAt,
|
|
143056
|
+
projectTickedAt: existingSession.projectTickedAt,
|
|
143057
|
+
completionAckSentAt: existingSession.completionAckSentAt,
|
|
143058
|
+
ackSentAt: existingSession.ackSentAt,
|
|
143059
|
+
error: null
|
|
143060
|
+
});
|
|
143061
|
+
if (resumedSession) {
|
|
143062
|
+
await completeRegisteredBootstrap(ctx, workspaceDir, resumedSession);
|
|
143063
|
+
}
|
|
143064
|
+
return;
|
|
143065
|
+
}
|
|
143066
|
+
}
|
|
142995
143067
|
if (!isBootstrapCandidate(content)) {
|
|
142996
143068
|
if (isAmbiguousCandidate(content)) {
|
|
142997
143069
|
const classifyOwner = resolveBootstrapAttemptOwner(existingSession);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mestreyoda/fabrica",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.30",
|
|
4
4
|
"description": "Autonomous software engineering pipeline for OpenClaw. Turns ideas into deployed code via intake, dispatch, review, test, and merge.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|