patchwork-os 0.2.0-alpha.3 → 0.2.0-alpha.31
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/README.bridge.md +6 -0
- package/README.md +40 -15
- package/deploy/bootstrap-vps.sh +184 -0
- package/deploy/deploy-dashboard.sh +174 -0
- package/deploy/deploy-landing.sh +79 -0
- package/dist/activationMetrics.d.ts +67 -0
- package/dist/activationMetrics.js +255 -0
- package/dist/activationMetrics.js.map +1 -0
- package/dist/approvalHttp.d.ts +24 -2
- package/dist/approvalHttp.js +150 -10
- package/dist/approvalHttp.js.map +1 -1
- package/dist/approvalQueue.d.ts +16 -1
- package/dist/approvalQueue.js +44 -3
- package/dist/approvalQueue.js.map +1 -1
- package/dist/automation.d.ts +20 -0
- package/dist/automation.js +54 -1
- package/dist/automation.js.map +1 -1
- package/dist/bridge.d.ts +2 -0
- package/dist/bridge.js +55 -130
- package/dist/bridge.js.map +1 -1
- package/dist/bridgeToken.js +57 -19
- package/dist/bridgeToken.js.map +1 -1
- package/dist/ccPermissions.js +6 -4
- package/dist/ccPermissions.js.map +1 -1
- package/dist/claudeOrchestrator.d.ts +1 -1
- package/dist/claudeOrchestrator.js +14 -8
- package/dist/claudeOrchestrator.js.map +1 -1
- package/dist/commands/launchd.d.ts +2 -0
- package/dist/commands/launchd.js +94 -0
- package/dist/commands/launchd.js.map +1 -0
- package/dist/commands/recipe.d.ts +258 -0
- package/dist/commands/recipe.js +1130 -0
- package/dist/commands/recipe.js.map +1 -0
- package/dist/commands/recipeInstall.d.ts +72 -0
- package/dist/commands/recipeInstall.js +339 -0
- package/dist/commands/recipeInstall.js.map +1 -0
- package/dist/config.d.ts +14 -1
- package/dist/config.js +99 -8
- package/dist/config.js.map +1 -1
- package/dist/connectors/baseConnector.d.ts +117 -0
- package/dist/connectors/baseConnector.js +213 -0
- package/dist/connectors/baseConnector.js.map +1 -0
- package/dist/connectors/confluence.d.ts +111 -0
- package/dist/connectors/confluence.js +406 -0
- package/dist/connectors/confluence.js.map +1 -0
- package/dist/connectors/datadog.d.ts +116 -0
- package/dist/connectors/datadog.js +385 -0
- package/dist/connectors/datadog.js.map +1 -0
- package/dist/connectors/fixtureLibrary.d.ts +21 -0
- package/dist/connectors/fixtureLibrary.js +70 -0
- package/dist/connectors/fixtureLibrary.js.map +1 -0
- package/dist/connectors/fixtureRecorder.d.ts +1 -0
- package/dist/connectors/fixtureRecorder.js +35 -0
- package/dist/connectors/fixtureRecorder.js.map +1 -0
- package/dist/connectors/github.d.ts +58 -8
- package/dist/connectors/github.js +312 -84
- package/dist/connectors/github.js.map +1 -1
- package/dist/connectors/gmail.d.ts +4 -1
- package/dist/connectors/gmail.js +79 -16
- package/dist/connectors/gmail.js.map +1 -1
- package/dist/connectors/googleCalendar.d.ts +60 -0
- package/dist/connectors/googleCalendar.js +345 -0
- package/dist/connectors/googleCalendar.js.map +1 -0
- package/dist/connectors/hubspot.d.ts +112 -0
- package/dist/connectors/hubspot.js +408 -0
- package/dist/connectors/hubspot.js.map +1 -0
- package/dist/connectors/intercom.d.ts +102 -0
- package/dist/connectors/intercom.js +402 -0
- package/dist/connectors/intercom.js.map +1 -0
- package/dist/connectors/jira.d.ts +98 -0
- package/dist/connectors/jira.js +379 -0
- package/dist/connectors/jira.js.map +1 -0
- package/dist/connectors/linear.d.ts +69 -19
- package/dist/connectors/linear.js +170 -129
- package/dist/connectors/linear.js.map +1 -1
- package/dist/connectors/mcpClient.d.ts +56 -0
- package/dist/connectors/mcpClient.js +189 -0
- package/dist/connectors/mcpClient.js.map +1 -0
- package/dist/connectors/mcpOAuth.d.ts +84 -0
- package/dist/connectors/mcpOAuth.js +389 -0
- package/dist/connectors/mcpOAuth.js.map +1 -0
- package/dist/connectors/mockConnector.d.ts +28 -0
- package/dist/connectors/mockConnector.js +81 -0
- package/dist/connectors/mockConnector.js.map +1 -0
- package/dist/connectors/notion.d.ts +143 -0
- package/dist/connectors/notion.js +424 -0
- package/dist/connectors/notion.js.map +1 -0
- package/dist/connectors/sentry.d.ts +17 -21
- package/dist/connectors/sentry.js +115 -131
- package/dist/connectors/sentry.js.map +1 -1
- package/dist/connectors/slack.d.ts +50 -0
- package/dist/connectors/slack.js +324 -0
- package/dist/connectors/slack.js.map +1 -0
- package/dist/connectors/stripe.d.ts +116 -0
- package/dist/connectors/stripe.js +379 -0
- package/dist/connectors/stripe.js.map +1 -0
- package/dist/connectors/tokenStorage.d.ts +35 -0
- package/dist/connectors/tokenStorage.js +459 -0
- package/dist/connectors/tokenStorage.js.map +1 -0
- package/dist/connectors/zendesk.d.ts +104 -0
- package/dist/connectors/zendesk.js +424 -0
- package/dist/connectors/zendesk.js.map +1 -0
- package/dist/drivers/gemini/index.d.ts +5 -1
- package/dist/drivers/gemini/index.js +39 -5
- package/dist/drivers/gemini/index.js.map +1 -1
- package/dist/drivers/index.d.ts +5 -0
- package/dist/drivers/index.js +1 -1
- package/dist/drivers/index.js.map +1 -1
- package/dist/featureFlags.d.ts +73 -0
- package/dist/featureFlags.js +203 -0
- package/dist/featureFlags.js.map +1 -0
- package/dist/fp/automationInterpreter.js +1 -0
- package/dist/fp/automationInterpreter.js.map +1 -1
- package/dist/fp/automationProgram.d.ts +1 -1
- package/dist/fp/automationProgram.js.map +1 -1
- package/dist/fp/policyParser.js +17 -0
- package/dist/fp/policyParser.js.map +1 -1
- package/dist/index.js +621 -61
- package/dist/index.js.map +1 -1
- package/dist/installGuard.d.ts +25 -0
- package/dist/installGuard.js +48 -0
- package/dist/installGuard.js.map +1 -0
- package/dist/oauth.d.ts +4 -1
- package/dist/oauth.js +50 -14
- package/dist/oauth.js.map +1 -1
- package/dist/patchworkConfig.d.ts +9 -0
- package/dist/patchworkConfig.js.map +1 -1
- package/dist/recipeOrchestration.d.ts +53 -0
- package/dist/recipeOrchestration.js +272 -0
- package/dist/recipeOrchestration.js.map +1 -0
- package/dist/recipes/RecipeOrchestrator.d.ts +40 -0
- package/dist/recipes/RecipeOrchestrator.js +51 -0
- package/dist/recipes/RecipeOrchestrator.js.map +1 -0
- package/dist/recipes/agentExecutor.d.ts +28 -0
- package/dist/recipes/agentExecutor.js +42 -0
- package/dist/recipes/agentExecutor.js.map +1 -0
- package/dist/recipes/chainedRunner.d.ts +140 -0
- package/dist/recipes/chainedRunner.js +539 -0
- package/dist/recipes/chainedRunner.js.map +1 -0
- package/dist/recipes/dependencyGraph.d.ts +39 -0
- package/dist/recipes/dependencyGraph.js +199 -0
- package/dist/recipes/dependencyGraph.js.map +1 -0
- package/dist/recipes/legacyRecipeCompat.d.ts +2 -0
- package/dist/recipes/legacyRecipeCompat.js +112 -0
- package/dist/recipes/legacyRecipeCompat.js.map +1 -0
- package/dist/recipes/manifest.d.ts +47 -0
- package/dist/recipes/manifest.js +141 -0
- package/dist/recipes/manifest.js.map +1 -0
- package/dist/recipes/nestedRecipeStep.d.ts +58 -0
- package/dist/recipes/nestedRecipeStep.js +95 -0
- package/dist/recipes/nestedRecipeStep.js.map +1 -0
- package/dist/recipes/outputRegistry.d.ts +28 -0
- package/dist/recipes/outputRegistry.js +52 -0
- package/dist/recipes/outputRegistry.js.map +1 -0
- package/dist/recipes/scheduler.d.ts +23 -7
- package/dist/recipes/scheduler.js +131 -41
- package/dist/recipes/scheduler.js.map +1 -1
- package/dist/recipes/schema.d.ts +17 -2
- package/dist/recipes/schemaGenerator.d.ts +28 -0
- package/dist/recipes/schemaGenerator.js +565 -0
- package/dist/recipes/schemaGenerator.js.map +1 -0
- package/dist/recipes/templateEngine.d.ts +62 -0
- package/dist/recipes/templateEngine.js +182 -0
- package/dist/recipes/templateEngine.js.map +1 -0
- package/dist/recipes/toolRegistry.d.ts +181 -0
- package/dist/recipes/toolRegistry.js +300 -0
- package/dist/recipes/toolRegistry.js.map +1 -0
- package/dist/recipes/tools/calendar.d.ts +6 -0
- package/dist/recipes/tools/calendar.js +61 -0
- package/dist/recipes/tools/calendar.js.map +1 -0
- package/dist/recipes/tools/confluence.d.ts +6 -0
- package/dist/recipes/tools/confluence.js +254 -0
- package/dist/recipes/tools/confluence.js.map +1 -0
- package/dist/recipes/tools/datadog.d.ts +6 -0
- package/dist/recipes/tools/datadog.js +239 -0
- package/dist/recipes/tools/datadog.js.map +1 -0
- package/dist/recipes/tools/diagnostics.d.ts +6 -0
- package/dist/recipes/tools/diagnostics.js +36 -0
- package/dist/recipes/tools/diagnostics.js.map +1 -0
- package/dist/recipes/tools/file.d.ts +6 -0
- package/dist/recipes/tools/file.js +170 -0
- package/dist/recipes/tools/file.js.map +1 -0
- package/dist/recipes/tools/git.d.ts +6 -0
- package/dist/recipes/tools/git.js +63 -0
- package/dist/recipes/tools/git.js.map +1 -0
- package/dist/recipes/tools/github.d.ts +6 -0
- package/dist/recipes/tools/github.js +91 -0
- package/dist/recipes/tools/github.js.map +1 -0
- package/dist/recipes/tools/gmail.d.ts +6 -0
- package/dist/recipes/tools/gmail.js +210 -0
- package/dist/recipes/tools/gmail.js.map +1 -0
- package/dist/recipes/tools/hubspot.d.ts +6 -0
- package/dist/recipes/tools/hubspot.js +232 -0
- package/dist/recipes/tools/hubspot.js.map +1 -0
- package/dist/recipes/tools/index.d.ts +22 -0
- package/dist/recipes/tools/index.js +25 -0
- package/dist/recipes/tools/index.js.map +1 -0
- package/dist/recipes/tools/intercom.d.ts +6 -0
- package/dist/recipes/tools/intercom.js +226 -0
- package/dist/recipes/tools/intercom.js.map +1 -0
- package/dist/recipes/tools/linear.d.ts +6 -0
- package/dist/recipes/tools/linear.js +83 -0
- package/dist/recipes/tools/linear.js.map +1 -0
- package/dist/recipes/tools/notion.d.ts +6 -0
- package/dist/recipes/tools/notion.js +278 -0
- package/dist/recipes/tools/notion.js.map +1 -0
- package/dist/recipes/tools/slack.d.ts +6 -0
- package/dist/recipes/tools/slack.js +72 -0
- package/dist/recipes/tools/slack.js.map +1 -0
- package/dist/recipes/tools/stripe.d.ts +6 -0
- package/dist/recipes/tools/stripe.js +265 -0
- package/dist/recipes/tools/stripe.js.map +1 -0
- package/dist/recipes/tools/zendesk.d.ts +6 -0
- package/dist/recipes/tools/zendesk.js +245 -0
- package/dist/recipes/tools/zendesk.js.map +1 -0
- package/dist/recipes/validation.d.ts +13 -0
- package/dist/recipes/validation.js +433 -0
- package/dist/recipes/validation.js.map +1 -0
- package/dist/recipes/yamlRunner.d.ts +87 -0
- package/dist/recipes/yamlRunner.js +693 -409
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/dist/recipesHttp.d.ts +34 -6
- package/dist/recipesHttp.js +285 -15
- package/dist/recipesHttp.js.map +1 -1
- package/dist/riskTier.js +1 -0
- package/dist/riskTier.js.map +1 -1
- package/dist/runLog.d.ts +23 -0
- package/dist/runLog.js +56 -1
- package/dist/runLog.js.map +1 -1
- package/dist/schemas/dry-run-plan.v1.json +139 -0
- package/dist/schemas/recipe.v1.json +684 -0
- package/dist/server.d.ts +32 -1
- package/dist/server.js +980 -97
- package/dist/server.js.map +1 -1
- package/dist/streamableHttp.js +2 -0
- package/dist/streamableHttp.js.map +1 -1
- package/dist/tools/addLinearComment.d.ts +55 -0
- package/dist/tools/addLinearComment.js +72 -0
- package/dist/tools/addLinearComment.js.map +1 -0
- package/dist/tools/bridgeDoctor.js +2 -2
- package/dist/tools/bridgeDoctor.js.map +1 -1
- package/dist/tools/createLinearIssue.d.ts +84 -0
- package/dist/tools/createLinearIssue.js +146 -0
- package/dist/tools/createLinearIssue.js.map +1 -0
- package/dist/tools/fetchCalendarEvents.d.ts +94 -0
- package/dist/tools/fetchCalendarEvents.js +97 -0
- package/dist/tools/fetchCalendarEvents.js.map +1 -0
- package/dist/tools/fetchGithubIssue.d.ts +80 -0
- package/dist/tools/fetchGithubIssue.js +84 -0
- package/dist/tools/fetchGithubIssue.js.map +1 -0
- package/dist/tools/fetchGithubPR.d.ts +89 -0
- package/dist/tools/fetchGithubPR.js +96 -0
- package/dist/tools/fetchGithubPR.js.map +1 -0
- package/dist/tools/fetchSlackProfile.d.ts +43 -0
- package/dist/tools/fetchSlackProfile.js +46 -0
- package/dist/tools/fetchSlackProfile.js.map +1 -0
- package/dist/tools/getConnectorStatus.d.ts +58 -0
- package/dist/tools/getConnectorStatus.js +56 -0
- package/dist/tools/getConnectorStatus.js.map +1 -0
- package/dist/tools/github/actions.js +4 -2
- package/dist/tools/github/actions.js.map +1 -1
- package/dist/tools/github/composite.d.ts +339 -0
- package/dist/tools/github/composite.js +343 -0
- package/dist/tools/github/composite.js.map +1 -0
- package/dist/tools/github/index.d.ts +2 -1
- package/dist/tools/github/index.js +2 -1
- package/dist/tools/github/index.js.map +1 -1
- package/dist/tools/github/issues.js +8 -4
- package/dist/tools/github/issues.js.map +1 -1
- package/dist/tools/github/pr.d.ts +122 -0
- package/dist/tools/github/pr.js +195 -5
- package/dist/tools/github/pr.js.map +1 -1
- package/dist/tools/index.js +32 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/searchTools.js +1 -1
- package/dist/tools/searchTools.js.map +1 -1
- package/dist/tools/slackListChannels.d.ts +65 -0
- package/dist/tools/slackListChannels.js +70 -0
- package/dist/tools/slackListChannels.js.map +1 -0
- package/dist/tools/slackPostMessage.d.ts +57 -0
- package/dist/tools/slackPostMessage.js +77 -0
- package/dist/tools/slackPostMessage.js.map +1 -0
- package/dist/tools/testTraceToSource.js +2 -2
- package/dist/tools/testTraceToSource.js.map +1 -1
- package/dist/tools/updateLinearIssue.d.ts +89 -0
- package/dist/tools/updateLinearIssue.js +117 -0
- package/dist/tools/updateLinearIssue.js.map +1 -0
- package/dist/transport.d.ts +7 -1
- package/dist/transport.js +85 -11
- package/dist/transport.js.map +1 -1
- package/package.json +5 -2
- package/scripts/start-all.sh +56 -19
- package/templates/automation-policies/recipe-authoring.json +25 -0
- package/templates/automation-policy.example.json +6 -0
- package/templates/co.patchwork-os.bridge.plist +34 -0
- package/templates/recipes/ctx-loop-test.yaml +75 -0
- package/templates/recipes/lint-on-save.yaml +1 -2
- package/templates/recipes/morning-brief-slack.yaml +57 -0
- package/templates/recipes/morning-brief.yaml +14 -6
- package/templates/recipes/project-health-check.yaml +50 -0
- package/templates/recipes/sentry-to-linear.yaml +77 -0
package/dist/riskTier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"riskTier.js","sourceRoot":"","sources":["../src/riskTier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"riskTier.js","sourceRoot":"","sources":["../src/riskTier.ts"],"names":[],"mappings":"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"}
|
package/dist/runLog.d.ts
CHANGED
|
@@ -12,6 +12,13 @@ import type { Logger } from "./logger.js";
|
|
|
12
12
|
*/
|
|
13
13
|
export type RunTrigger = "cron" | "webhook" | "recipe";
|
|
14
14
|
export type RunStatus = "done" | "error" | "cancelled" | "interrupted";
|
|
15
|
+
export interface RunStepResult {
|
|
16
|
+
id: string;
|
|
17
|
+
tool?: string;
|
|
18
|
+
status: "ok" | "skipped" | "error";
|
|
19
|
+
error?: string;
|
|
20
|
+
durationMs: number;
|
|
21
|
+
}
|
|
15
22
|
export interface RecipeRun {
|
|
16
23
|
/** Monotonic sequence id within the process — stable for pagination. */
|
|
17
24
|
seq: number;
|
|
@@ -37,6 +44,15 @@ export interface RecipeRun {
|
|
|
37
44
|
errorMessage?: string;
|
|
38
45
|
/** Duration ms = doneAt - (startedAt ?? createdAt). */
|
|
39
46
|
durationMs: number;
|
|
47
|
+
/** Per-step execution results — present when run via yamlRunner or chainedRunner. */
|
|
48
|
+
stepResults?: RunStepResult[];
|
|
49
|
+
/** Assertion failures from the recipe's expect block — present when assertions fail. */
|
|
50
|
+
assertionFailures?: Array<{
|
|
51
|
+
assertion: string;
|
|
52
|
+
expected: unknown;
|
|
53
|
+
actual: unknown;
|
|
54
|
+
message: string;
|
|
55
|
+
}>;
|
|
40
56
|
}
|
|
41
57
|
export interface RunLogOptions {
|
|
42
58
|
/** Directory holding runs.jsonl. Created if missing. */
|
|
@@ -61,6 +77,7 @@ export declare class RecipeRunLog {
|
|
|
61
77
|
private seq;
|
|
62
78
|
private readonly file;
|
|
63
79
|
private readonly memoryCap;
|
|
80
|
+
private lastFileSize;
|
|
64
81
|
private readonly now;
|
|
65
82
|
constructor(opts: RunLogOptions);
|
|
66
83
|
/**
|
|
@@ -83,8 +100,14 @@ export declare class RecipeRunLog {
|
|
|
83
100
|
errorMessage?: string;
|
|
84
101
|
}): RecipeRun | null;
|
|
85
102
|
query(q?: RunQuery): RecipeRun[];
|
|
103
|
+
/** Return a single run by its monotonic seq, or null if not found. */
|
|
104
|
+
getBySeq(seq: number): RecipeRun | null;
|
|
86
105
|
/** Test/inspection helper — current in-memory size. */
|
|
87
106
|
size(): number;
|
|
107
|
+
/** Write a run directly (e.g. from yamlRunner which has no orchestrator task). */
|
|
108
|
+
appendDirect(run: Omit<RecipeRun, "seq">): void;
|
|
88
109
|
private append;
|
|
110
|
+
/** Incrementally read any new lines appended to the file since last load. */
|
|
111
|
+
private syncFromDisk;
|
|
89
112
|
private loadExisting;
|
|
90
113
|
}
|
package/dist/runLog.js
CHANGED
|
@@ -8,6 +8,7 @@ export class RecipeRunLog {
|
|
|
8
8
|
seq = 0;
|
|
9
9
|
file;
|
|
10
10
|
memoryCap;
|
|
11
|
+
lastFileSize = 0;
|
|
11
12
|
now;
|
|
12
13
|
constructor(opts) {
|
|
13
14
|
this.opts = opts;
|
|
@@ -21,6 +22,12 @@ export class RecipeRunLog {
|
|
|
21
22
|
opts.logger?.warn?.(`[runlog] could not create ${opts.dir}: ${err instanceof Error ? err.message : String(err)}`);
|
|
22
23
|
}
|
|
23
24
|
this.loadExisting();
|
|
25
|
+
try {
|
|
26
|
+
this.lastFileSize = statSync(this.file).size;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
/* file may not exist */
|
|
30
|
+
}
|
|
24
31
|
}
|
|
25
32
|
/**
|
|
26
33
|
* Parse triggerSource into `{trigger, recipeName}`. Returns null for non-recipe
|
|
@@ -30,7 +37,7 @@ export class RecipeRunLog {
|
|
|
30
37
|
if (!triggerSource)
|
|
31
38
|
return null;
|
|
32
39
|
const m = /^(cron|webhook|recipe):(.+)$/.exec(triggerSource);
|
|
33
|
-
if (!m
|
|
40
|
+
if (!m?.[1] || !m[2])
|
|
34
41
|
return null;
|
|
35
42
|
return { trigger: m[1], recipeName: m[2] };
|
|
36
43
|
}
|
|
@@ -75,6 +82,7 @@ export class RecipeRunLog {
|
|
|
75
82
|
return run;
|
|
76
83
|
}
|
|
77
84
|
query(q = {}) {
|
|
85
|
+
this.syncFromDisk();
|
|
78
86
|
let out = this.runs;
|
|
79
87
|
if (q.trigger)
|
|
80
88
|
out = out.filter((r) => r.trigger === q.trigger);
|
|
@@ -91,10 +99,25 @@ export class RecipeRunLog {
|
|
|
91
99
|
const limit = Math.min(Math.max(q.limit ?? 100, 1), 500);
|
|
92
100
|
return out.slice(0, limit);
|
|
93
101
|
}
|
|
102
|
+
/** Return a single run by its monotonic seq, or null if not found. */
|
|
103
|
+
getBySeq(seq) {
|
|
104
|
+
this.syncFromDisk();
|
|
105
|
+
return this.runs.find((r) => r.seq === seq) ?? null;
|
|
106
|
+
}
|
|
94
107
|
/** Test/inspection helper — current in-memory size. */
|
|
95
108
|
size() {
|
|
96
109
|
return this.runs.length;
|
|
97
110
|
}
|
|
111
|
+
/** Write a run directly (e.g. from yamlRunner which has no orchestrator task). */
|
|
112
|
+
appendDirect(run) {
|
|
113
|
+
const seq = ++this.seq;
|
|
114
|
+
const full = { ...run, seq };
|
|
115
|
+
mkdirSync(path.dirname(this.file), { recursive: true, mode: 0o700 });
|
|
116
|
+
this.append(full);
|
|
117
|
+
this.runs.push(full);
|
|
118
|
+
if (this.runs.length > this.memoryCap)
|
|
119
|
+
this.runs.shift();
|
|
120
|
+
}
|
|
98
121
|
append(run) {
|
|
99
122
|
try {
|
|
100
123
|
appendFileSync(this.file, `${JSON.stringify(run)}\n`, { mode: 0o600 });
|
|
@@ -103,6 +126,38 @@ export class RecipeRunLog {
|
|
|
103
126
|
this.opts.logger?.warn?.(`[runlog] append failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
104
127
|
}
|
|
105
128
|
}
|
|
129
|
+
/** Incrementally read any new lines appended to the file since last load. */
|
|
130
|
+
syncFromDisk() {
|
|
131
|
+
try {
|
|
132
|
+
const size = statSync(this.file).size;
|
|
133
|
+
if (size <= this.lastFileSize)
|
|
134
|
+
return;
|
|
135
|
+
const raw = readFileSync(this.file, "utf-8");
|
|
136
|
+
const lines = raw.split("\n");
|
|
137
|
+
for (const line of lines) {
|
|
138
|
+
if (!line)
|
|
139
|
+
continue;
|
|
140
|
+
try {
|
|
141
|
+
const parsed = JSON.parse(line);
|
|
142
|
+
if (typeof parsed.seq !== "number")
|
|
143
|
+
continue;
|
|
144
|
+
if (parsed.seq > this.seq) {
|
|
145
|
+
this.seq = parsed.seq;
|
|
146
|
+
this.runs.push(parsed);
|
|
147
|
+
if (this.runs.length > this.memoryCap)
|
|
148
|
+
this.runs.shift();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
/* skip malformed */
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
this.lastFileSize = size;
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
/* file may not exist yet */
|
|
159
|
+
}
|
|
160
|
+
}
|
|
106
161
|
loadExisting() {
|
|
107
162
|
try {
|
|
108
163
|
statSync(this.file);
|
package/dist/runLog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runLog.js","sourceRoot":"","sources":["../src/runLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"runLog.js","sourceRoot":"","sources":["../src/runLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,IAAI,MAAM,WAAW,CAAC;AA8D7B,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAqB/B,MAAM,OAAO,YAAY;IAQM;IAPrB,IAAI,GAAgB,EAAE,CAAC;IACvB,GAAG,GAAG,CAAC,CAAC;IACC,IAAI,CAAS;IACb,SAAS,CAAS;IAC3B,YAAY,GAAG,CAAC,CAAC;IACR,GAAG,CAAe;IAEnC,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;QACtD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CACjB,6BAA6B,IAAI,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC7F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CACjB,aAAiC;QAEjC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,CAAC,GAAG,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAe,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,IAUN;QACC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAmB,CAAC;QACxC,IACE,MAAM,KAAK,MAAM;YACjB,MAAM,KAAK,OAAO;YAClB,MAAM,KAAK,WAAW;YACtB,MAAM,KAAK,aAAa,EACxB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,MAAM,GAAG,GAAc;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI;gBAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC;aAChD,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI;gBACrC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;YACF,UAAU;SACX,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,IAAc,EAAE;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACpB,IAAI,CAAC,CAAC,OAAO;YAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,CAAC,MAAM;YAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,MAAM;YAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACtB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,gBAAgB;QAChB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,sEAAsE;IACtE,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IAED,uDAAuD;IACvD,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,kFAAkF;IAClF,YAAY,CAAC,GAA2B;QACtC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACvB,MAAM,IAAI,GAAc,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3D,CAAC;IAEO,MAAM,CAAC,GAAc;QAC3B,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CACtB,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,YAAY;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACtC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY;gBAAE,OAAO;YACtC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;oBAC7C,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;wBAAE,SAAS;oBAC7C,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC1B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;wBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;4BAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,oBAAoB;gBACtB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CACtB,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5E,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;gBAC7C,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;oBAAE,SAAS;gBAC7C,oEAAoE;gBACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;oBAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://patchworkos.com/schema/dry-run-plan.v1.json",
|
|
4
|
+
"title": "Patchwork Recipe Dry-Run Plan",
|
|
5
|
+
"description": "Stable machine-readable output of `patchwork recipe run --dry-run`. Pin consumers on schemaVersion.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"schemaVersion",
|
|
9
|
+
"recipe",
|
|
10
|
+
"mode",
|
|
11
|
+
"triggerType",
|
|
12
|
+
"generatedAt",
|
|
13
|
+
"steps"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schemaVersion": {
|
|
17
|
+
"type": "number",
|
|
18
|
+
"const": 1
|
|
19
|
+
},
|
|
20
|
+
"recipe": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"mode": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"const": "dry-run"
|
|
26
|
+
},
|
|
27
|
+
"triggerType": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"generatedAt": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "ISO-8601 timestamp when plan was generated"
|
|
33
|
+
},
|
|
34
|
+
"stepSelection": {
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"query": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"matchedBy": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"matchedValue": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"steps": {
|
|
49
|
+
"type": "array",
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"required": [
|
|
53
|
+
"id",
|
|
54
|
+
"type"
|
|
55
|
+
],
|
|
56
|
+
"properties": {
|
|
57
|
+
"id": {
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
"type": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"enum": [
|
|
63
|
+
"tool",
|
|
64
|
+
"agent",
|
|
65
|
+
"recipe"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"tool": {
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
"namespace": {
|
|
72
|
+
"type": "string"
|
|
73
|
+
},
|
|
74
|
+
"into": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
},
|
|
77
|
+
"optional": {
|
|
78
|
+
"type": "boolean"
|
|
79
|
+
},
|
|
80
|
+
"prompt": {
|
|
81
|
+
"type": "string"
|
|
82
|
+
},
|
|
83
|
+
"params": {
|
|
84
|
+
"type": "object",
|
|
85
|
+
"additionalProperties": true
|
|
86
|
+
},
|
|
87
|
+
"dependencies": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"items": {
|
|
90
|
+
"type": "string"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"condition": {
|
|
94
|
+
"type": "string"
|
|
95
|
+
},
|
|
96
|
+
"risk": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"enum": [
|
|
99
|
+
"low",
|
|
100
|
+
"medium",
|
|
101
|
+
"high"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"isWrite": {
|
|
105
|
+
"type": "boolean"
|
|
106
|
+
},
|
|
107
|
+
"isConnector": {
|
|
108
|
+
"type": "boolean"
|
|
109
|
+
},
|
|
110
|
+
"resolved": {
|
|
111
|
+
"type": "boolean",
|
|
112
|
+
"description": "True if the tool id is known to the registry at plan time"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"parallelGroups": {
|
|
118
|
+
"type": "array",
|
|
119
|
+
"items": {
|
|
120
|
+
"type": "array",
|
|
121
|
+
"items": {
|
|
122
|
+
"type": "string"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"maxDepth": {
|
|
127
|
+
"type": "number"
|
|
128
|
+
},
|
|
129
|
+
"connectorNamespaces": {
|
|
130
|
+
"type": "array",
|
|
131
|
+
"items": {
|
|
132
|
+
"type": "string"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"hasWriteSteps": {
|
|
136
|
+
"type": "boolean"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|