archctx 0.4.2 → 0.4.3
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/assets/catalog.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "archcontext.practice-catalog-manifest/v1",
|
|
3
3
|
"catalogVersion": "2026.06.0",
|
|
4
|
-
"productVersion": "0.4.
|
|
4
|
+
"productVersion": "0.4.3",
|
|
5
5
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
6
6
|
"entries": [
|
|
7
7
|
{
|
|
@@ -389,5 +389,5 @@
|
|
|
389
389
|
"structurizr.dsl",
|
|
390
390
|
"twelve-factor"
|
|
391
391
|
],
|
|
392
|
-
"catalogDigest": "sha256:
|
|
392
|
+
"catalogDigest": "sha256:902f7d7738d4b4d34861260a09a9a0e005004152c48228c91f6861043f2ba74f"
|
|
393
393
|
}
|
package/bin/archctx.mjs
CHANGED
|
@@ -919,7 +919,7 @@ function sortedUniqueIssues(label, values) {
|
|
|
919
919
|
const expected = [...new Set(values)].sort();
|
|
920
920
|
return expected.length === values.length && expected.every((value, index) => value === values[index]) ? [] : [`${label} must be sorted and unique`];
|
|
921
921
|
}
|
|
922
|
-
var PROJECTION_REQUEST_SCHEMA_VERSION = "archcontext.projection-request/v1", PROJECTION_RESULT_SCHEMA_VERSION = "archcontext.projection-result/v1", ARCHITECTURE_REFRESH_SIGNAL_SCHEMA_VERSION = "archcontext.architecture-refresh-signal/v1", ARCHCTX_CAPABILITIES_SCHEMA_VERSION = "archcontext.capabilities/v1", ARCHITECTURE_DOCS_RENDERER_VERSION = "archcontext.docs-renderer/
|
|
922
|
+
var PROJECTION_REQUEST_SCHEMA_VERSION = "archcontext.projection-request/v1", PROJECTION_RESULT_SCHEMA_VERSION = "archcontext.projection-result/v1", ARCHITECTURE_REFRESH_SIGNAL_SCHEMA_VERSION = "archcontext.architecture-refresh-signal/v1", ARCHCTX_CAPABILITIES_SCHEMA_VERSION = "archcontext.capabilities/v1", ARCHITECTURE_DOCS_RENDERER_VERSION = "archcontext.docs-renderer/v3", AGENT_CONTEXT_RENDERER_VERSION = "archcontext.agent-context-renderer/v1", PROJECTION_MODES, PROJECTION_TARGETS, ARCHITECTURE_MAJOR_CHANGE_REASON_CODES, ARCHCTX_FEATURES;
|
|
923
923
|
var init_projection = __esm(() => {
|
|
924
924
|
init_schema();
|
|
925
925
|
PROJECTION_MODES = ["check", "plan", "apply", "adopt"];
|
|
@@ -1000,7 +1000,7 @@ function productVersionManifest() {
|
|
|
1000
1000
|
}
|
|
1001
1001
|
};
|
|
1002
1002
|
}
|
|
1003
|
-
var ARCHCONTEXT_PRODUCT_NAME = "archctx", ARCHCONTEXT_PRODUCT_VERSION = "0.4.
|
|
1003
|
+
var ARCHCONTEXT_PRODUCT_NAME = "archctx", ARCHCONTEXT_PRODUCT_VERSION = "0.4.3", ARCHCONTEXT_PACKAGE_MANAGER = "bun@1.3.10", ARCHCONTEXT_NODE_RANGE = ">=24 <26", LOCAL_RUNTIME_RPC_SCHEMA_VERSION = "archcontext.runtime-rpc/v1", ARCHCONTEXT_SCHEMA_SET_VERSION = "2026-07-11.explorer-view-v2";
|
|
1004
1004
|
|
|
1005
1005
|
// packages/contracts/src/validator.ts
|
|
1006
1006
|
function validateJsonSchema(schema, value) {
|
|
@@ -8042,11 +8042,6 @@ function renderArchitectureDocumentationProjection(input) {
|
|
|
8042
8042
|
resulting: semanticState,
|
|
8043
8043
|
acceptedChange: input.refreshContext?.acceptedChange
|
|
8044
8044
|
});
|
|
8045
|
-
const entitySourceDigest = digestJson({
|
|
8046
|
-
sourceDigest: input.sourceDigest,
|
|
8047
|
-
sourceScaleSignals: [...scaleSignalsByNodeId.values()].sort((left, right) => left.nodeId.localeCompare(right.nodeId)),
|
|
8048
|
-
semanticProofs: [...semanticCompilationsByNodeId.values()].map((compilation) => ({ capabilityId: compilation.capabilityId, proofDigest: compilation.proofDigest })).sort((left, right) => left.capabilityId.localeCompare(right.capabilityId))
|
|
8049
|
-
});
|
|
8050
8045
|
const targetDrafts = architectureDocumentationTargetDrafts(model, layout2);
|
|
8051
8046
|
const declaresSourceByNodeId = new Map(model.nodes.map((node) => [node.id, (nativeNodeSource(node)?.include ?? []).length > 0]));
|
|
8052
8047
|
const changeSinceStampByNodeId = new Map(input.sourceChangesSinceStamp.map((entry) => [entry.nodeId, entry]));
|
|
@@ -8054,9 +8049,19 @@ function renderArchitectureDocumentationProjection(input) {
|
|
|
8054
8049
|
const rendered = targetDrafts.map((draft) => {
|
|
8055
8050
|
const existing = existingByPath.get(draft.path);
|
|
8056
8051
|
const nodeId = draft.type === "entity-summary" ? draft.scope.id : undefined;
|
|
8052
|
+
let targetSourceDigest = input.sourceDigest;
|
|
8057
8053
|
let targetVerifiedAgainst;
|
|
8058
8054
|
if (nodeId !== undefined) {
|
|
8059
|
-
|
|
8055
|
+
targetSourceDigest = digestJson(renderTargetGeneratedBody(draft, model, {
|
|
8056
|
+
generatedAt,
|
|
8057
|
+
verifiedAgainst: CANONICAL_STICKY_STAMP,
|
|
8058
|
+
scaleSignalsByNodeId,
|
|
8059
|
+
semanticCompilationsByNodeId,
|
|
8060
|
+
decisions: input.decisions ?? [],
|
|
8061
|
+
timeline: input.timeline ?? [],
|
|
8062
|
+
layout: layout2
|
|
8063
|
+
}));
|
|
8064
|
+
const decision = stickyVerifiedAgainst(existing, draft.targetId, targetSourceDigest, {
|
|
8060
8065
|
nodeDeclaresSource: declaresSourceByNodeId.get(nodeId) === true,
|
|
8061
8066
|
measurement: changeSinceStampByNodeId.get(nodeId)
|
|
8062
8067
|
});
|
|
@@ -8085,7 +8090,7 @@ function renderArchitectureDocumentationProjection(input) {
|
|
|
8085
8090
|
const target = projectionTarget({
|
|
8086
8091
|
...draft,
|
|
8087
8092
|
rendererVersion,
|
|
8088
|
-
sourceDigest:
|
|
8093
|
+
sourceDigest: targetSourceDigest,
|
|
8089
8094
|
outputDigest: generatedBodyDigest,
|
|
8090
8095
|
...targetVerifiedAgainst ? { verifiedAgainst: targetVerifiedAgainst } : {}
|
|
8091
8096
|
});
|
|
@@ -9225,14 +9230,19 @@ function parseMarkerVerifiedAgainst(value) {
|
|
|
9225
9230
|
return;
|
|
9226
9231
|
}
|
|
9227
9232
|
}
|
|
9228
|
-
|
|
9233
|
+
var CANONICAL_STICKY_STAMP = {
|
|
9234
|
+
branch: "__sticky-canonical__",
|
|
9235
|
+
commit: "0000000",
|
|
9236
|
+
committedAt: "1970-01-01T00:00:00.000Z"
|
|
9237
|
+
};
|
|
9238
|
+
function stickyVerifiedAgainst(existing, targetId, nodeSourceDigest, node) {
|
|
9229
9239
|
if (!existing)
|
|
9230
9240
|
return { kind: "restamp" };
|
|
9231
9241
|
const region = findGeneratedRegion(existing, targetId);
|
|
9232
9242
|
if (!region)
|
|
9233
9243
|
return { kind: "restamp" };
|
|
9234
9244
|
const metadata = parseGeneratedRegionMetadata(region.startMarker);
|
|
9235
|
-
if (metadata.sourceDigest !==
|
|
9245
|
+
if (metadata.sourceDigest !== nodeSourceDigest)
|
|
9236
9246
|
return { kind: "restamp" };
|
|
9237
9247
|
const stamp = parseMarkerVerifiedAgainst(metadata.verifiedAgainst);
|
|
9238
9248
|
if (!stamp)
|
package/package.json
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"additionalProperties": false,
|
|
32
32
|
"required": ["architectureDocs", "agentContext"],
|
|
33
33
|
"properties": {
|
|
34
|
-
"architectureDocs": { "const": "archcontext.docs-renderer/
|
|
34
|
+
"architectureDocs": { "const": "archcontext.docs-renderer/v3" },
|
|
35
35
|
"agentContext": { "const": "archcontext.agent-context-renderer/v1" }
|
|
36
36
|
}
|
|
37
37
|
},
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"codeGraphDigest": { "$ref": "#/$defs/digest" },
|
|
43
43
|
"indexedWorktreeDigest": { "$ref": "#/$defs/nullableDigest" },
|
|
44
44
|
"projectionInputDigest": { "$ref": "#/$defs/digest" },
|
|
45
|
-
"rendererVersion": { "const": "archcontext.docs-renderer/
|
|
45
|
+
"rendererVersion": { "const": "archcontext.docs-renderer/v3" },
|
|
46
46
|
"layoutVersion": { "const": "archcontext.docs-layout/v1" },
|
|
47
47
|
"generatedFrom": {
|
|
48
48
|
"type": "object",
|