@paradigma-inc/flywheel 0.2.5 → 0.2.15
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.md +17 -0
- package/bin/flywheel.js +11 -2
- package/package.json +1 -1
- package/src/public-command-metadata.mjs +16 -1
- package/src/runtime/delegate.mjs +13 -0
- package/src/runtime/node-version-preflight.mjs +26 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js +7 -4
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-selection.js +2 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-selection.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/generatedFeedbackContract.js +2 -2
- package/src/runtime/vendor/flywheel-cli-dist/generatedFeedbackContract.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/adapter.js +4 -2
- package/src/runtime/vendor/flywheel-cli-dist/local/adapter.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit-normalize.js +265 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit-normalize.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js +7 -4
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/dispatch.js +48 -18
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/dispatch.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js +3 -6
- package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/contract.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/steps.js +2 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/steps.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/connection.js +10 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/connection.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/errors.js +37 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/errors.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js +40 -9
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/main.js +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/main.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-x64/node.napi.node +0 -0
- package/src/runtime/vendor/manifest.json +3 -1
- package/src/setup-auth.mjs +34 -14
package/README.md
CHANGED
|
@@ -6,6 +6,13 @@ install or refresh bundled Flywheel skills.
|
|
|
6
6
|
`@paradigma-inc/flywheel` is the only user-facing Flywheel CLI install path and
|
|
7
7
|
owns the public `flywheel` binary surface.
|
|
8
8
|
|
|
9
|
+
## Requirements
|
|
10
|
+
|
|
11
|
+
Local repository commands require Node.js `^24.15.0 || >=25.7.0`. On an older
|
|
12
|
+
Node.js, `flywheel` prints the upgrade message and exits before running any
|
|
13
|
+
repository command; `flywheel update`, `--version`, and `--help` always remain
|
|
14
|
+
available so you can repair your own installation.
|
|
15
|
+
|
|
9
16
|
## Install
|
|
10
17
|
|
|
11
18
|
One-shot installer (macOS and Linux):
|
|
@@ -500,6 +507,16 @@ npx --yes skills ls -a cursor
|
|
|
500
507
|
If bundled skills are missing, rerun setup with explicit mode and desired skill
|
|
501
508
|
flags.
|
|
502
509
|
|
|
510
|
+
## Feedback Version Metadata
|
|
511
|
+
|
|
512
|
+
`flywheel feedback:create` (and other runtime HTTP requests) report the
|
|
513
|
+
`@paradigma-inc/flywheel` version you have installed, read once from the
|
|
514
|
+
installed package manifest before the first request. Installing a fixed
|
|
515
|
+
release corrects the version recorded on newly submitted feedback going
|
|
516
|
+
forward. Historical feedback receipts are not backfilled or rewritten; if you
|
|
517
|
+
need to confirm the exact version that produced an older report, check the
|
|
518
|
+
environment details recorded in that report's original message.
|
|
519
|
+
|
|
503
520
|
## Other Commands
|
|
504
521
|
|
|
505
522
|
- `setup`: setup flow with explicit mode routing.
|
package/bin/flywheel.js
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { evaluateNodeVersionPreflight } from "../src/runtime/node-version-preflight.mjs";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const argv = process.argv.slice(2);
|
|
6
|
+
const nodeVersionPreflight = evaluateNodeVersionPreflight(argv);
|
|
7
|
+
if (!nodeVersionPreflight.allowed) {
|
|
8
|
+
console.error(`flywheel: ${nodeVersionPreflight.message}`);
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const { runUnifiedCli } = await import("../src/unified-cli.mjs");
|
|
13
|
+
|
|
14
|
+
runUnifiedCli(argv).catch((error) => {
|
|
6
15
|
const message = error instanceof Error ? error.message : String(error);
|
|
7
16
|
console.error(`flywheel: ${message}`);
|
|
8
17
|
const exitCode =
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { testSeamOverride } from "./setup/test-seams.mjs";
|
|
4
5
|
|
|
5
6
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
7
|
const PACKAGE_JSON_PATH = path.resolve(__dirname, "..", "package.json");
|
|
@@ -504,14 +505,28 @@ export function usageVersionArg(version) {
|
|
|
504
505
|
return `--_usage_version=${version}`;
|
|
505
506
|
}
|
|
506
507
|
|
|
508
|
+
const PACKAGE_JSON_FOR_TESTS_ENV = "FLYWHEEL_PACKAGE_JSON_FOR_TESTS";
|
|
509
|
+
|
|
510
|
+
function resolvePackageJsonPath() {
|
|
511
|
+
const override = testSeamOverride(PACKAGE_JSON_FOR_TESTS_ENV);
|
|
512
|
+
return override === undefined ? PACKAGE_JSON_PATH : override;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
// Repeated in-process runtime dispatches must observe the manifest as it
|
|
516
|
+
// exists on disk at each dispatch, so the delegate resets this cache before
|
|
517
|
+
// reloading the version.
|
|
507
518
|
let cachedPackageVersion = null;
|
|
508
519
|
|
|
520
|
+
export function resetPackageVersionCache() {
|
|
521
|
+
cachedPackageVersion = null;
|
|
522
|
+
}
|
|
523
|
+
|
|
509
524
|
export async function loadPackageVersion() {
|
|
510
525
|
if (cachedPackageVersion !== null) {
|
|
511
526
|
return cachedPackageVersion;
|
|
512
527
|
}
|
|
513
528
|
try {
|
|
514
|
-
const raw = await readFile(
|
|
529
|
+
const raw = await readFile(resolvePackageJsonPath(), "utf8");
|
|
515
530
|
const parsed = JSON.parse(raw);
|
|
516
531
|
if (typeof parsed.version === "string" && parsed.version.trim()) {
|
|
517
532
|
cachedPackageVersion = parsed.version.trim();
|
package/src/runtime/delegate.mjs
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
loadPackageVersion,
|
|
3
|
+
resetPackageVersionCache,
|
|
4
|
+
} from "../public-command-metadata.mjs";
|
|
5
|
+
import { setCliVersion } from "./vendor/flywheel-cli-dist/version.js";
|
|
6
|
+
|
|
7
|
+
// Bootstraps the vendored runtime's shared version state from the installed
|
|
8
|
+
// public package manifest before constructing any HTTP client. Without this,
|
|
9
|
+
// the vendored runtime keeps its internal seed regardless of the installed
|
|
10
|
+
// package version (FLY-1009). The cached manifest read is reset first so a
|
|
11
|
+
// repeated in-process dispatch observes an on-disk package upgrade.
|
|
1
12
|
export async function runRuntimeCli(argv, dependencies = {}) {
|
|
13
|
+
resetPackageVersionCache();
|
|
14
|
+
setCliVersion(await loadPackageVersion());
|
|
2
15
|
const { runCli } = await import("./vendor/flywheel-cli-dist/runtime-entry.js");
|
|
3
16
|
return await runCli(argv, dependencies);
|
|
4
17
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { assertNodeVersion } from "./vendor/flywheel-cli-dist/local/runtime/platform.js";
|
|
2
|
+
|
|
3
|
+
const VERSION_HELP_TOKENS = new Set(["--version", "--help"]);
|
|
4
|
+
|
|
5
|
+
// `flywheel update` (including `flywheel update --yes`), `--version`, and
|
|
6
|
+
// `--help` must always run, even on a Node.js version the local repository
|
|
7
|
+
// engine cannot use, so a user stuck on an old runtime can still repair
|
|
8
|
+
// their own installation. `assertNodeVersion` reuses the exact decision and
|
|
9
|
+
// remediation message the engine itself throws (see
|
|
10
|
+
// project/flywheel-cli/src/local/runtime/platform.ts), so the supported set
|
|
11
|
+
// is defined once and consumed by both the executable and the engine check.
|
|
12
|
+
export function evaluateNodeVersionPreflight(argv, version = process.versions.node) {
|
|
13
|
+
const exempt = argv[0] === "update" || argv.some((token) => VERSION_HELP_TOKENS.has(token));
|
|
14
|
+
if (exempt) {
|
|
15
|
+
return { allowed: true };
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
assertNodeVersion(version);
|
|
19
|
+
return { allowed: true };
|
|
20
|
+
} catch (error) {
|
|
21
|
+
return {
|
|
22
|
+
allowed: false,
|
|
23
|
+
message: error instanceof Error ? error.message : String(error),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -135,12 +135,15 @@ function operationHandler(command) {
|
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
else if (command === "repo:pull") {
|
|
138
|
-
|
|
138
|
+
// The saved mode is only needed when --objects is omitted; fetching
|
|
139
|
+
// status unconditionally would block explicit-mode recovery pulls on
|
|
140
|
+
// the very availability defect they repair.
|
|
141
|
+
const objectMode = typeof context.params.objects === "string"
|
|
142
|
+
? context.params.objects
|
|
143
|
+
: (await context.requestLocalJson(repositoryPath, "GET", "/status")).sync.object_mode;
|
|
139
144
|
body = {
|
|
140
145
|
pull_id: context.globals?.idempotencyKey ?? randomUUID(),
|
|
141
|
-
object_mode:
|
|
142
|
-
? context.params.objects
|
|
143
|
-
: status.sync.object_mode,
|
|
146
|
+
object_mode: objectMode,
|
|
144
147
|
};
|
|
145
148
|
}
|
|
146
149
|
else if (command === "repo:push") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-operation.js","sourceRoot":"","sources":["../../src/commands/repository-operation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"repository-operation.js","sourceRoot":"","sources":["../../src/commands/repository-operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ async function requireRepository(root) {
|
|
|
32
32
|
if (state === "invalid")
|
|
33
33
|
throw new RepositorySelectionError("repository_marker_invalid", `Invalid Flywheel repository marker: ${path.join(resolved, ".flywheel")}`, path.join(resolved, ".flywheel"));
|
|
34
34
|
if (state === "missing")
|
|
35
|
-
throw new RepositorySelectionError("repository_not_found", `No Flywheel repository at ${resolved}.
|
|
35
|
+
throw new RepositorySelectionError("repository_not_found", `No Flywheel repository at ${resolved}. To create one there, run: flywheel repo:init ${shellQuote(resolved)}. To use a different existing repository, rerun this command with --repo <root>, or use --personal.`, resolved);
|
|
36
36
|
return resolved;
|
|
37
37
|
}
|
|
38
38
|
export async function resolveRepositorySelection({ params, cwd = process.cwd(), loadConfig = () => loadFlywheelConfig(), }) {
|
|
@@ -75,6 +75,6 @@ export async function resolveRepositorySelection({ params, cwd = process.cwd(),
|
|
|
75
75
|
break;
|
|
76
76
|
candidate = parent;
|
|
77
77
|
}
|
|
78
|
-
throw new RepositorySelectionError("repository_not_found", `No Flywheel repository found
|
|
78
|
+
throw new RepositorySelectionError("repository_not_found", `No Flywheel repository found in ${cwd} or any parent directory. To create one in the current directory, run: flywheel repo:init. To use an existing repository, rerun this command with --repo <root>, or use --personal.`);
|
|
79
79
|
}
|
|
80
80
|
//# sourceMappingURL=repository-selection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-selection.js","sourceRoot":"","sources":["../../src/commands/repository-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAyB,MAAM,oBAAoB,CAAC;AAQ/E,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,CAKqB;IACzB,IAAI,CAAU;IACvB,YACE,IAAsC,EACtC,OAAe,EACf,UAAmB;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;AACjD,CAAC;AACD,KAAK,UAAU,WAAW,CACxB,IAAY;IAEZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACzE,MAAM,IAAI,wBAAwB,CAChC,2BAA2B,EAC3B,gDAAgD,UAAU,KAAM,KAAe,CAAC,OAAO,EAAE,EACzF,UAAU,CACX,CAAC;IACJ,CAAC;AACH,CAAC;AACD,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,wBAAwB,CAChC,2BAA2B,EAC3B,uCAAuC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EACzE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CACjC,CAAC;IACJ,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,wBAAwB,CAChC,sBAAsB,EACtB,6BAA6B,QAAQ,
|
|
1
|
+
{"version":3,"file":"repository-selection.js","sourceRoot":"","sources":["../../src/commands/repository-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Generated by project/flywheel-server/scripts/sync_feedback_contract.py.
|
|
2
2
|
// Do not edit by hand.
|
|
3
|
-
export const FEEDBACK_CONTRACT_VERSION = "2026-
|
|
3
|
+
export const FEEDBACK_CONTRACT_VERSION = "2026-09-12.1";
|
|
4
4
|
export const FEEDBACK_SOURCES = [
|
|
5
5
|
"api",
|
|
6
6
|
"api_client",
|
|
@@ -70,5 +70,5 @@ export const FEEDBACK_NODE_WORKFLOW_FAMILIES = [
|
|
|
70
70
|
"tags",
|
|
71
71
|
"timeline_layout",
|
|
72
72
|
];
|
|
73
|
-
export const FEEDBACK_CONTRACT_ARTIFACT = JSON.parse('{"admin_note": {"max_length": 2000, "required": false}, "categories": ["billing", "bug", "confusing", "docs", "missing_capability", "other", "performance", "reliability", "workflow_friction"], "context_fields": ["route_family", "node_workflow_family", "command_family", "tool_family", "node_id", "request_id", "trace_id", "sentry_event_id", "product_event_id", "cli_invocation_id", "mcp_request_id", "mcp_idempotency_key"], "correlation_fields": ["request_id", "trace_id", "sentry_event_id", "product_event_id", "cli_invocation_id", "mcp_request_id", "mcp_idempotency_key", "node_id", "route_family", "node_workflow_family", "command_family", "tool_family"], "defaults": {"category": "other", "severity": "low", "status": "new"}, "message": {"max_length": 4000, "min_length": 1, "required": true}, "node_workflow_families": ["artifacts", "assets", "bulk_graph_actions", "canvas", "commit", "context_menu", "graph_layout", "hooks", "lease", "minimap", "node_focus", "node_hydration", "node_open", "node_selection", "node_view_editing", "partial_graph_preview", "radial_view", "share_policy", "staged_edit", "tags", "timeline_layout"], "privacy_rules": {"disallowed_fields": ["artifact_body", "attachment", "attachments", "authorization", "completion", "console", "cookies", "diagnostics", "dom_snapshot", "extra", "full_url", "headers", "logs", "metadata", "model_input", "model_output", "node_body", "node_content", "prompt", "query_string", "raw_logs", "replay", "request_body", "response_body", "screenshot", "token", "tool_transcript"], "message_storage": "Stored only in feedback_entries.message; never log or attach to Sentry context.", "raw_diagnostics": "Do not store screenshots, replay, raw logs, headers, bodies, prompts, model outputs, node content, or arbitrary metadata."}, "reporter_type_defaults": {"api": "human", "api_client": "human", "cli": "human", "mcp": "agent", "webui": "human"}, "reporter_types": ["agent", "human"], "route_families": ["admin", "analytics", "auth", "blobs", "compute", "credits", "feedback", "mcp", "nodes", "other", "root", "updates"], "severities": ["critical", "high", "low", "medium"], "sources": ["api", "api_client", "cli", "mcp", "webui"], "statuses": ["dismissed", "new", "planned", "resolved", "triaged"], "version": "2026-
|
|
73
|
+
export const FEEDBACK_CONTRACT_ARTIFACT = JSON.parse('{"admin_note": {"max_length": 2000, "required": false}, "categories": ["billing", "bug", "confusing", "docs", "missing_capability", "other", "performance", "reliability", "workflow_friction"], "context_fields": ["route_family", "node_workflow_family", "command_family", "tool_family", "node_id", "request_id", "trace_id", "sentry_event_id", "product_event_id", "cli_invocation_id", "mcp_request_id", "mcp_idempotency_key"], "correlation_fields": ["request_id", "trace_id", "sentry_event_id", "product_event_id", "cli_invocation_id", "mcp_request_id", "mcp_idempotency_key", "node_id", "route_family", "node_workflow_family", "command_family", "tool_family"], "defaults": {"category": "other", "severity": "low", "status": "new"}, "message": {"max_length": 4000, "min_length": 1, "required": true}, "node_workflow_families": ["artifacts", "assets", "bulk_graph_actions", "canvas", "commit", "context_menu", "graph_layout", "hooks", "lease", "minimap", "node_focus", "node_hydration", "node_open", "node_selection", "node_view_editing", "partial_graph_preview", "radial_view", "share_policy", "staged_edit", "tags", "timeline_layout"], "privacy_rules": {"disallowed_fields": ["artifact_body", "attachment", "attachments", "authorization", "completion", "console", "cookies", "diagnostics", "dom_snapshot", "extra", "full_url", "headers", "logs", "metadata", "model_input", "model_output", "node_body", "node_content", "prompt", "query_string", "raw_logs", "replay", "request_body", "response_body", "screenshot", "token", "tool_transcript"], "message_storage": "Stored only in feedback_entries.message; never log or attach to Sentry context.", "raw_diagnostics": "Do not store screenshots, replay, raw logs, headers, bodies, prompts, model outputs, node content, or arbitrary metadata."}, "reporter_type_defaults": {"api": "human", "api_client": "human", "cli": "human", "mcp": "agent", "webui": "human"}, "reporter_types": ["agent", "human"], "route_families": ["admin", "analytics", "auth", "blobs", "compute", "credits", "feedback", "mcp", "nodes", "other", "root", "updates"], "severities": ["critical", "high", "low", "medium"], "sources": ["api", "api_client", "cli", "mcp", "webui"], "statuses": ["dismissed", "new", "planned", "resolved", "triaged"], "version": "2026-09-12.1", "version_metadata_fields": {"accepted_in_create_payloads": false, "fields": ["client_version", "mcp_protocol_version", "api_version", "server_release"], "filled_by": "server", "max_lengths": {"api_version": 16, "client_version": 64, "mcp_protocol_version": 32, "server_release": 128}}}');
|
|
74
74
|
//# sourceMappingURL=generatedFeedbackContract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generatedFeedbackContract.js","sourceRoot":"","sources":["../src/generatedFeedbackContract.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,uBAAuB;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAuB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK;IACL,YAAY;IACZ,KAAK;IACL,KAAK;IACL,OAAO;CACC,CAAC;AAGX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC;AAGnE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,KAAK;IACL,WAAW;IACX,MAAM;IACN,oBAAoB;IACpB,OAAO;IACP,aAAa;IACb,aAAa;IACb,mBAAmB;CACX,CAAC;AAGX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,MAAM;IACN,KAAK;IACL,QAAQ;CACA,CAAC;AAGX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,KAAK;IACL,SAAS;IACT,UAAU;IACV,SAAS;CACD,CAAC;AAGX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO;IACP,WAAW;IACX,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;CACD,CAAC;AAGX,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,WAAW;IACX,QAAQ;IACR,oBAAoB;IACpB,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,cAAc;IACd,OAAO;IACP,OAAO;IACP,SAAS;IACT,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,aAAa;IACb,cAAc;IACd,aAAa;IACb,MAAM;IACN,iBAAiB;CACT,CAAC;AA+BX,MAAM,CAAC,MAAM,0BAA0B,GAA4B,IAAI,CAAC,KAAK,CAC3E,
|
|
1
|
+
{"version":3,"file":"generatedFeedbackContract.js","sourceRoot":"","sources":["../src/generatedFeedbackContract.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,uBAAuB;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAuB,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK;IACL,YAAY;IACZ,KAAK;IACL,KAAK;IACL,OAAO;CACC,CAAC;AAGX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC;AAGnE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,KAAK;IACL,WAAW;IACX,MAAM;IACN,oBAAoB;IACpB,OAAO;IACP,aAAa;IACb,aAAa;IACb,mBAAmB;CACX,CAAC;AAGX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,MAAM;IACN,KAAK;IACL,QAAQ;CACA,CAAC;AAGX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,KAAK;IACL,SAAS;IACT,UAAU;IACV,SAAS;CACD,CAAC;AAGX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO;IACP,WAAW;IACX,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,UAAU;IACV,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;CACD,CAAC;AAGX,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,WAAW;IACX,QAAQ;IACR,oBAAoB;IACpB,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,cAAc;IACd,OAAO;IACP,OAAO;IACP,SAAS;IACT,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,aAAa;IACb,cAAc;IACd,aAAa;IACb,MAAM;IACN,iBAAiB;CACT,CAAC;AA+BX,MAAM,CAAC,MAAM,0BAA0B,GAA4B,IAAI,CAAC,KAAK,CAC3E,2gFAA2gF,CAC5gF,CAAC"}
|
|
@@ -90,8 +90,10 @@ function localCommandError(error) {
|
|
|
90
90
|
if (error instanceof CliHttpError || error instanceof CliApprovalPendingError)
|
|
91
91
|
return error;
|
|
92
92
|
const type = error instanceof Error ? error.message : String(error);
|
|
93
|
-
const retryable = type === "repository_locked";
|
|
94
|
-
const message =
|
|
93
|
+
const retryable = type === "repository_locked" || type === "repository_busy";
|
|
94
|
+
const message = type === "repository_locked" ? "another repository command is running; retry when it completes"
|
|
95
|
+
: type === "repository_busy" ? "the repository database is busy; retry when contention clears"
|
|
96
|
+
: type;
|
|
95
97
|
return new CliHttpError(message, EXIT_TRANSPORT, undefined, {
|
|
96
98
|
detail: { details: {}, message, retryable, type },
|
|
97
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/local/adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/local/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { RepositoryServiceError } from "../errors.js";
|
|
2
|
+
import { NODE_FIELDS } from "../models/constants.js";
|
|
3
|
+
import { RepositoryOperation } from "../models/operations.js";
|
|
4
|
+
import { associateLatestValueWrites } from "../../store/latest-values.js";
|
|
5
|
+
function fieldEditTarget(operation) {
|
|
6
|
+
const payload = operation.payload;
|
|
7
|
+
switch (operation.type) {
|
|
8
|
+
case "node.field.set.v1":
|
|
9
|
+
return { ownerType: "node", ownerId: payload.node_id, field: payload.field };
|
|
10
|
+
case "edge.field.set.v1":
|
|
11
|
+
return { ownerType: "edge", ownerId: payload.edge_id, field: payload.field };
|
|
12
|
+
case "artifact.metadata.set.v1":
|
|
13
|
+
return { ownerType: "artifact", ownerId: payload.artifact_id, field: payload.field };
|
|
14
|
+
case "artifact.properties.set.v1":
|
|
15
|
+
return { ownerType: "artifact", ownerId: payload.artifact_id, field: "properties" };
|
|
16
|
+
default:
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Only operation types that unconditionally INSERT a brand-new entity are safe fold targets:
|
|
21
|
+
// `node.create.v1` and `edge.add.v1` both fail outright at apply time when their id already
|
|
22
|
+
// exists (see `applyNodeCreate` and the `edge.add.v1` branch of `applyEdge` in
|
|
23
|
+
// `store/projection/nodes.ts`/`relations.ts`), so folding into them is safe regardless of what
|
|
24
|
+
// the batch alone can prove. `artifact.attach.v1`/`artifact.attach.v2` are NOT included: an
|
|
25
|
+
// attach also legitimately references an artifact that already exists elsewhere in history - a
|
|
26
|
+
// pure precondition check against its current properties digest, not a write (see `attach()` in
|
|
27
|
+
// `store/projection/artifacts.ts`) - and a same-batch attach can still receive a supplied
|
|
28
|
+
// properties value in that case (sharing an existing artifact while also editing its
|
|
29
|
+
// properties), so "did this attach consume a value" cannot reliably distinguish a fresh artifact
|
|
30
|
+
// from an existing one without repository state this pure function does not have. Folding into
|
|
31
|
+
// such an attach would silently rewrite its declared digest and break that precondition at apply
|
|
32
|
+
// time; artifact field chains are therefore always collapsed rather than folded into a creator.
|
|
33
|
+
function creatorTarget(operation) {
|
|
34
|
+
const payload = operation.payload;
|
|
35
|
+
switch (operation.type) {
|
|
36
|
+
case "node.create.v1":
|
|
37
|
+
return { ownerType: "node", ownerId: payload.node_id, fields: new Set(NODE_FIELDS) };
|
|
38
|
+
case "edge.add.v1":
|
|
39
|
+
return { ownerType: "edge", ownerId: payload.edge_id, fields: new Set(["content"]) };
|
|
40
|
+
default:
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Lifecycle, content-replacement, and detach operations invalidate a same-entity field chain's
|
|
45
|
+
// digest continuity; any other operation referencing the entity (tags, lineage, containment,
|
|
46
|
+
// edge endpoints) leaves field state untouched and never breaks folding or collapsing.
|
|
47
|
+
function disruptorTarget(operation) {
|
|
48
|
+
const payload = operation.payload;
|
|
49
|
+
switch (operation.type) {
|
|
50
|
+
case "node.tombstone.v1":
|
|
51
|
+
case "node.restore.v1":
|
|
52
|
+
case "node.purge.v1":
|
|
53
|
+
return { ownerType: "node", ownerId: payload.node_id };
|
|
54
|
+
case "edge.remove.v1":
|
|
55
|
+
return { ownerType: "edge", ownerId: payload.edge_id };
|
|
56
|
+
case "artifact.detach.v1":
|
|
57
|
+
case "artifact.content.set.v1":
|
|
58
|
+
return { ownerType: "artifact", ownerId: payload.artifact_id };
|
|
59
|
+
default:
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function entityKey(ownerType, ownerId) {
|
|
64
|
+
return `${ownerType}\0${ownerId}`;
|
|
65
|
+
}
|
|
66
|
+
function applyCreatorFold(operation, folds) {
|
|
67
|
+
const mapping = operation.toMapping();
|
|
68
|
+
if (operation.type === "node.create.v1") {
|
|
69
|
+
const initialValues = { ...mapping.initial_values };
|
|
70
|
+
const initialFieldDigests = { ...mapping.initial_field_digests };
|
|
71
|
+
for (const [field, write] of folds) {
|
|
72
|
+
initialValues[field] = write.value;
|
|
73
|
+
initialFieldDigests[field] = write.valueDigest;
|
|
74
|
+
}
|
|
75
|
+
return RepositoryOperation.fromMapping({ ...mapping, initial_values: initialValues, initial_field_digests: initialFieldDigests });
|
|
76
|
+
}
|
|
77
|
+
if (operation.type === "edge.add.v1") {
|
|
78
|
+
return RepositoryOperation.fromMapping({ ...mapping, content_digest: folds.get("content").valueDigest });
|
|
79
|
+
}
|
|
80
|
+
throw new Error("unreachable: applyCreatorFold called on a non-creator operation type");
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Folds staged field-edit chains into the smallest net change `repo:commit` records, so a
|
|
84
|
+
* corrected typo or a value edited back to its original never survives into history as
|
|
85
|
+
* separate churn (see FLY-974). Reuses `associateLatestValueWrites` (the same association the
|
|
86
|
+
* commit boundary already runs) instead of a second bookkeeping scheme.
|
|
87
|
+
*
|
|
88
|
+
* Per (owner, field) chain of same-family edits, in staged order:
|
|
89
|
+
* - Fold into a same-batch creator (`node.create.v1` for any node field, or `edge.add.v1` for
|
|
90
|
+
* an edge's content - both unconditionally insert a brand-new entity) when no
|
|
91
|
+
* lifecycle/content-replacement/detach operation on that entity sits between the creator and
|
|
92
|
+
* the chain's last edit. Artifact fields never fold into an attach: an attach can also
|
|
93
|
+
* legitimately reference an artifact that already exists elsewhere in history, which this
|
|
94
|
+
* pure function cannot distinguish from a fresh one (see `creatorTarget`).
|
|
95
|
+
* - Otherwise collapse the chain to its first operation, taking the final digest and change
|
|
96
|
+
* metadata from the last edit, dropping the collapsed operation entirely when the net digest
|
|
97
|
+
* equals the chain's original expected digest.
|
|
98
|
+
* - Leave the whole chain staged, untouched, when such a disruptor sits between two edits of the
|
|
99
|
+
* chain (the interleaving guardrail), or - for artifact fields - when an edit of the sibling
|
|
100
|
+
* metadata/properties family sits between them (they share one underlying properties blob).
|
|
101
|
+
*/
|
|
102
|
+
export function normalizeStagedBatch(operations, latestValues) {
|
|
103
|
+
const associations = associateLatestValueWrites(operations, latestValues);
|
|
104
|
+
const chains = new Map();
|
|
105
|
+
for (let index = 0; index < operations.length; index++) {
|
|
106
|
+
const target = fieldEditTarget(operations[index]);
|
|
107
|
+
if (!target)
|
|
108
|
+
continue;
|
|
109
|
+
const key = `${target.ownerType}\0${target.ownerId}\0${target.field}`;
|
|
110
|
+
const list = chains.get(key);
|
|
111
|
+
if (list)
|
|
112
|
+
list.push(index);
|
|
113
|
+
else
|
|
114
|
+
chains.set(key, [index]);
|
|
115
|
+
}
|
|
116
|
+
const creators = new Map();
|
|
117
|
+
for (let index = 0; index < operations.length; index++) {
|
|
118
|
+
const target = creatorTarget(operations[index]);
|
|
119
|
+
if (!target)
|
|
120
|
+
continue;
|
|
121
|
+
const key = entityKey(target.ownerType, target.ownerId);
|
|
122
|
+
if (!creators.has(key))
|
|
123
|
+
creators.set(key, index);
|
|
124
|
+
}
|
|
125
|
+
const disruptors = new Map();
|
|
126
|
+
for (let index = 0; index < operations.length; index++) {
|
|
127
|
+
const target = disruptorTarget(operations[index]);
|
|
128
|
+
if (!target)
|
|
129
|
+
continue;
|
|
130
|
+
const key = entityKey(target.ownerType, target.ownerId);
|
|
131
|
+
const list = disruptors.get(key);
|
|
132
|
+
if (list)
|
|
133
|
+
list.push(index);
|
|
134
|
+
else
|
|
135
|
+
disruptors.set(key, [index]);
|
|
136
|
+
}
|
|
137
|
+
// `artifact.metadata.set.v1` (legacy per-field digests) and `artifact.properties.set.v1` (one
|
|
138
|
+
// whole-blob digest) both read-modify-write the SAME `repository_artifacts.properties` column
|
|
139
|
+
// (see `setLegacyMetadata`/`setSharedValue` in `store/projection/artifacts.ts`). A metadata
|
|
140
|
+
// edit's own precondition only inspects its one decomposed field, but it still rewrites the
|
|
141
|
+
// whole blob digest a later `properties.set.v1` depends on, and vice versa. An edit of one
|
|
142
|
+
// family sitting between two edits of the OTHER family - or between a fold's creator and its
|
|
143
|
+
// chain - therefore invalidates that chain's skipped intermediate blob state even though the
|
|
144
|
+
// two families never share a field key.
|
|
145
|
+
const artifactBlobOps = new Map();
|
|
146
|
+
for (let index = 0; index < operations.length; index++) {
|
|
147
|
+
const operation = operations[index];
|
|
148
|
+
if (operation.type !== "artifact.metadata.set.v1" && operation.type !== "artifact.properties.set.v1")
|
|
149
|
+
continue;
|
|
150
|
+
const id = operation.payload.artifact_id;
|
|
151
|
+
const list = artifactBlobOps.get(id);
|
|
152
|
+
if (list)
|
|
153
|
+
list.push(index);
|
|
154
|
+
else
|
|
155
|
+
artifactBlobOps.set(id, [index]);
|
|
156
|
+
}
|
|
157
|
+
function ownWrite(operation) {
|
|
158
|
+
return [...associations.get(operation.operationId).values()][0];
|
|
159
|
+
}
|
|
160
|
+
const dropIndices = new Set();
|
|
161
|
+
const foldsByCreator = new Map();
|
|
162
|
+
const collapseUpdate = new Map();
|
|
163
|
+
const syntheticValues = [];
|
|
164
|
+
// Every index whose ORIGINAL latestValues consumption must be discarded: dropped chain
|
|
165
|
+
// members, a folded creator (its one value is replaced by the chain's final value), and a
|
|
166
|
+
// collapsed-but-surviving first operation (its value changes to the chain's final value).
|
|
167
|
+
// Tracked by index rather than by (owner, field) key so an unrelated, unmodified operation
|
|
168
|
+
// sharing that same key (e.g. an attach whose properties chain failed to fold) keeps its own
|
|
169
|
+
// original entry untouched.
|
|
170
|
+
const consumptionRemovalIndices = new Set();
|
|
171
|
+
for (const [key, indices] of chains) {
|
|
172
|
+
const [ownerType, ownerId, field] = key.split("\0");
|
|
173
|
+
const entity = entityKey(ownerType, ownerId);
|
|
174
|
+
const firstIndex = indices[0];
|
|
175
|
+
const lastIndex = indices.at(-1);
|
|
176
|
+
const lastOperation = operations[lastIndex];
|
|
177
|
+
const chainIndices = new Set(indices);
|
|
178
|
+
const foreignBlobOps = ownerType === "artifact" ? artifactBlobOps.get(ownerId) : undefined;
|
|
179
|
+
const hasForeignBlobOpBetween = (lowIndex, highIndex) => foreignBlobOps !== undefined && foreignBlobOps.some((index) => index > lowIndex && index < highIndex && !chainIndices.has(index));
|
|
180
|
+
const creatorIndex = creators.get(entity);
|
|
181
|
+
let foldEligible = false;
|
|
182
|
+
if (creatorIndex !== undefined && creatorIndex < firstIndex) {
|
|
183
|
+
const creator = creatorTarget(operations[creatorIndex]);
|
|
184
|
+
foldEligible = creator.fields.has(field) &&
|
|
185
|
+
!disruptors.get(entity)?.some((index) => index > creatorIndex && index < lastIndex) &&
|
|
186
|
+
!hasForeignBlobOpBetween(creatorIndex, lastIndex);
|
|
187
|
+
}
|
|
188
|
+
if (foldEligible) {
|
|
189
|
+
for (const index of indices) {
|
|
190
|
+
dropIndices.add(index);
|
|
191
|
+
consumptionRemovalIndices.add(index);
|
|
192
|
+
}
|
|
193
|
+
consumptionRemovalIndices.add(creatorIndex);
|
|
194
|
+
let folds = foldsByCreator.get(creatorIndex);
|
|
195
|
+
if (!folds) {
|
|
196
|
+
folds = new Map();
|
|
197
|
+
foldsByCreator.set(creatorIndex, folds);
|
|
198
|
+
}
|
|
199
|
+
const finalWrite = ownWrite(lastOperation);
|
|
200
|
+
folds.set(field, finalWrite);
|
|
201
|
+
if (operations[creatorIndex].type !== "node.create.v1")
|
|
202
|
+
syntheticValues.push(finalWrite);
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
// guardrail: whole chain stays staged
|
|
206
|
+
if (disruptors.get(entity)?.some((index) => index > firstIndex && index < lastIndex) || hasForeignBlobOpBetween(firstIndex, lastIndex)) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
const firstOperation = operations[firstIndex];
|
|
210
|
+
const finalDigest = lastOperation.payload.new_digest;
|
|
211
|
+
for (const index of indices) {
|
|
212
|
+
consumptionRemovalIndices.add(index);
|
|
213
|
+
if (index !== firstIndex)
|
|
214
|
+
dropIndices.add(index);
|
|
215
|
+
}
|
|
216
|
+
if (finalDigest === firstOperation.payload.expected_digest) {
|
|
217
|
+
dropIndices.add(firstIndex);
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
collapseUpdate.set(firstIndex, { newDigest: finalDigest, changeMetadata: lastOperation.payload.change_metadata });
|
|
221
|
+
syntheticValues.push(ownWrite(lastOperation));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const finalOperations = [];
|
|
225
|
+
for (let index = 0; index < operations.length; index++) {
|
|
226
|
+
if (dropIndices.has(index))
|
|
227
|
+
continue;
|
|
228
|
+
const operation = operations[index];
|
|
229
|
+
const folds = foldsByCreator.get(index);
|
|
230
|
+
if (folds) {
|
|
231
|
+
finalOperations.push(applyCreatorFold(operation, folds));
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
const update = collapseUpdate.get(index);
|
|
235
|
+
finalOperations.push(update
|
|
236
|
+
? RepositoryOperation.fromMapping({ ...operation.toMapping(), new_digest: update.newDigest, change_metadata: update.changeMetadata })
|
|
237
|
+
: operation);
|
|
238
|
+
}
|
|
239
|
+
// Untouched entries keep the exact staged order (attach/legacy-metadata sidebands may
|
|
240
|
+
// legitimately be supplied out of operation order; see `attachmentValues` in
|
|
241
|
+
// `store/latest-values.ts`). Remove exactly the physical entries each discarded or
|
|
242
|
+
// rewritten operation originally consumed (matched by content, one slot per consumption, so
|
|
243
|
+
// duplicate values remove only as many copies as were actually taken), then append the
|
|
244
|
+
// recomputed final values; per-key order is all `iterateOperationLatestValues` requires.
|
|
245
|
+
const removalPool = [];
|
|
246
|
+
for (const index of consumptionRemovalIndices) {
|
|
247
|
+
for (const write of associations.get(operations[index].operationId).values())
|
|
248
|
+
removalPool.push(write);
|
|
249
|
+
}
|
|
250
|
+
const sameValue = (write, entry) => write.ownerType === entry.owner_type && write.ownerId === entry.owner_id && write.field === entry.field &&
|
|
251
|
+
write.value === entry.value && write.valueDigest === entry.value_digest;
|
|
252
|
+
const survivingOriginal = latestValues.filter((entry) => {
|
|
253
|
+
const removalIndex = removalPool.findIndex((write) => sameValue(write, entry));
|
|
254
|
+
if (removalIndex === -1)
|
|
255
|
+
return true;
|
|
256
|
+
removalPool.splice(removalIndex, 1);
|
|
257
|
+
return false;
|
|
258
|
+
});
|
|
259
|
+
const finalValues = [...survivingOriginal, ...syntheticValues.map((write) => write.toMapping())];
|
|
260
|
+
if (finalOperations.length === 0) {
|
|
261
|
+
throw new RepositoryServiceError("repository staging has no net changes");
|
|
262
|
+
}
|
|
263
|
+
return { operations: finalOperations, latestValues: finalValues };
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=commit-normalize.js.map
|