@econ-v1/domain 7.0.7 → 7.0.9

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 CHANGED
@@ -237,6 +237,12 @@ export type ReleaseManifestVerifyOptions = import("./services/release-manifest-v
237
237
  export type DeviceCleanupPort = import("./services/device-cleanup-service.js").DeviceCleanupPort;
238
238
  export type DeviceCleanupServiceOptions = import("./services/device-cleanup-service.js").DeviceCleanupServiceOptions;
239
239
  export type DeviceCleanupState = import("./services/device-cleanup-service.js").DeviceCleanupState;
240
+ export type NodeAbout = import("./models/node-about.js").NodeAbout;
241
+ export type NodeAboutIdentity = import("./models/node-about.js").NodeAboutIdentity;
242
+ export type NodeBuildInfo = import("./models/node-about.js").NodeBuildInfo;
243
+ export type NodeBuildReport = import("./models/node-about.js").NodeBuildReport;
244
+ export type NodeBuildState = import("./models/node-about.js").NodeBuildState;
245
+ export type ClientBuildReport = import("./models/node-about.js").ClientBuildReport;
240
246
  export { DOMAIN_ERROR_CODES, DomainError, SYNC_ERROR_CODES, SyncError, TRANSPORT_ERROR_CODES, TransportError } from "./errors/index.js";
241
247
  export { appEventInstance, appEventResource, appEventScope, appEventType, isAppEventType, isCoreKernelEvent, isCoreKernelEventType, isKernelEventType, isQueryName, KERNEL_EVENT_TYPES } from "./events/index.js";
242
248
  export { REVISIONED_DOMAINS, AGENT_STATUSES, parseAgentValue, parseGraphValue, APP_DATA_MAX_PAYLOAD_BYTES, assertAppDataPayload, compareAppDataRevision, isAppDataSyncResponse, isNodeAppBudgetState, isNodeAppLaneKind, isNodeAppMemoryAttribution, isNodeAppMemoryAvailability, isNodeAppMemoryBudgetBasis, isNodeAppMemorySource, isNodeAppMemoryTrendVerdict, isNodeAppMemoryUnavailableReason, isNodeAppPressureState, isNodeAppRuntimeMode, isNodeAppTerminationReason, NODE_APP_BUDGET_STATES, NODE_APP_LANE_KINDS, NODE_APP_MEMORY_ATTRIBUTIONS, NODE_APP_MEMORY_AVAILABILITIES, NODE_APP_MEMORY_BUDGET_BASES, NODE_APP_MEMORY_SOURCES, NODE_APP_MEMORY_TREND_VERDICTS, NODE_APP_MEMORY_UNAVAILABLE_REASONS, NODE_APP_PRESSURE_STATES, NODE_APP_RUNTIME_MODES, NODE_APP_TERMINATION_REASONS, REVISIONED_COMMAND_NAMES, createAgentUpdateCommand, createGraphUpdateCommand, createResolveRevisionConflictCommand, createRevisionedUpdateCommand, canonicalOutboxPayload, isDelegationActive, isDevicePublicIdentity, normalizeDelegation, publicIdentityDiagnostic } from "./models/index.js";
@@ -260,4 +266,5 @@ export { createOnboardingFlowQuery, ONBOARDING_FLOW_QUERY_NAME } from "./queries
260
266
  export { createOnboardingLcdScreenQuery, ONBOARDING_LCD_SCREEN_QUERY_NAME } from "./queries/onboarding-lcd-screen.js";
261
267
  export { RELEASE_MANIFEST_LIMITS, RELEASE_MANIFEST_VERSION, parseSignedReleaseManifest, unsignedReleaseManifestToJson } from "./models/release-manifest.js";
262
268
  export { RELEASE_MANIFEST_REJECTION_REASONS, verifyReleaseManifest } from "./services/release-manifest-verifier.js";
269
+ export { NODE_ABOUT_ROW_ID, parseBuildInfo } from "./models/node-about.js";
263
270
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Parses the `/api/v2/version/build` response body.
3
+ *
4
+ * Returns `undefined` for anything that is not the complete shape — a partial build report
5
+ * is worse than none, because the card would show a version with no hash and read as
6
+ * "this build has no commit", which is a different and false claim.
7
+ *
8
+ * @param {unknown} candidate
9
+ * @returns {NodeBuildInfo | undefined}
10
+ */
11
+ export function parseBuildInfo(candidate: unknown): NodeBuildInfo | undefined;
12
+ /**
13
+ * What the About card on the profile stage answers: which node this is, and what is
14
+ * running on it.
15
+ *
16
+ * Three groups from three different origins, and the distinction matters when one of them
17
+ * cannot be resolved. `identity` is local and always available. `client` is local to this
18
+ * browser. `node` requires the home node to be reachable, which is exactly when it often
19
+ * is not — so it carries its own `state` rather than collapsing to blank fields.
20
+ */
21
+ /** @typedef {{ readonly commitHash: string, readonly dirty: boolean, readonly packageVersion: string }} NodeBuildInfo */
22
+ /** @typedef {"cached" | "live" | "unavailable"} NodeBuildState */
23
+ /** @typedef {NodeBuildInfo & { readonly observedAtMs?: number, readonly state: NodeBuildState }} NodeBuildReport */
24
+ /** @typedef {{ readonly available?: string, readonly running?: string }} ClientBuildReport */
25
+ /** @typedef {{ readonly deviceDid: string, readonly homeNodeId: string }} NodeAboutIdentity */
26
+ /** @typedef {{ readonly client: ClientBuildReport, readonly id: "node-about", readonly identity: NodeAboutIdentity, readonly node: NodeBuildReport }} NodeAbout */
27
+ /** The single-row key for `node.about.v1`. */
28
+ export const NODE_ABOUT_ROW_ID: "node-about";
29
+ export type NodeBuildInfo = {
30
+ readonly commitHash: string;
31
+ readonly dirty: boolean;
32
+ readonly packageVersion: string;
33
+ };
34
+ export type NodeBuildState = "cached" | "live" | "unavailable";
35
+ export type NodeBuildReport = NodeBuildInfo & {
36
+ readonly observedAtMs?: number;
37
+ readonly state: NodeBuildState;
38
+ };
39
+ export type ClientBuildReport = {
40
+ readonly available?: string;
41
+ readonly running?: string;
42
+ };
43
+ export type NodeAboutIdentity = {
44
+ readonly deviceDid: string;
45
+ readonly homeNodeId: string;
46
+ };
47
+ export type NodeAbout = {
48
+ readonly client: ClientBuildReport;
49
+ readonly id: "node-about";
50
+ readonly identity: NodeAboutIdentity;
51
+ readonly node: NodeBuildReport;
52
+ };
53
+ //# sourceMappingURL=node-about.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-about.d.ts","sourceRoot":"","sources":["../../src/models/node-about.js"],"names":[],"mappings":"AA0BA;;;;;;;;;GASG;AACH,0CAHW,OAAO,GACL,aAAa,GAAG,SAAS,CAYrC;AA5CD;;;;;;;;GAQG;AAEH,yHAAyH;AACzH,kEAAkE;AAClE,oHAAoH;AACpH,8FAA8F;AAC9F,+FAA+F;AAC/F,mKAAmK;AAEnK,8CAA8C;AAC9C,gCAAiC,YAAY,CAAC;4BARhC;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAAE;6BACzF,QAAQ,GAAG,MAAM,GAAG,aAAa;8BACjC,aAAa,GAAG;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;CAAE;gCAClF;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;gCAC1D;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE;wBAC3D;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@econ-v1/domain",
3
- "version": "7.0.7",
3
+ "version": "7.0.9",
4
4
  "description": "Platform-neutral domain contracts and errors for Node clients",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "author": "Node contributors",
@@ -57,6 +57,6 @@
57
57
  "access": "public"
58
58
  },
59
59
  "dependencies": {
60
- "@econ-v1/ports": "7.0.7"
60
+ "@econ-v1/ports": "7.0.9"
61
61
  }
62
62
  }
package/src/index.js CHANGED
@@ -570,3 +570,10 @@ export {
570
570
  RELEASE_MANIFEST_REJECTION_REASONS,
571
571
  verifyReleaseManifest,
572
572
  } from "./services/release-manifest-verifier.js";
573
+ /** @typedef {import("./models/node-about.js").NodeAbout} NodeAbout */
574
+ /** @typedef {import("./models/node-about.js").NodeAboutIdentity} NodeAboutIdentity */
575
+ /** @typedef {import("./models/node-about.js").NodeBuildInfo} NodeBuildInfo */
576
+ /** @typedef {import("./models/node-about.js").NodeBuildReport} NodeBuildReport */
577
+ /** @typedef {import("./models/node-about.js").NodeBuildState} NodeBuildState */
578
+ /** @typedef {import("./models/node-about.js").ClientBuildReport} ClientBuildReport */
579
+ export { NODE_ABOUT_ROW_ID, parseBuildInfo } from "./models/node-about.js";
@@ -0,0 +1,57 @@
1
+ // @ts-check
2
+
3
+ /**
4
+ * What the About card on the profile stage answers: which node this is, and what is
5
+ * running on it.
6
+ *
7
+ * Three groups from three different origins, and the distinction matters when one of them
8
+ * cannot be resolved. `identity` is local and always available. `client` is local to this
9
+ * browser. `node` requires the home node to be reachable, which is exactly when it often
10
+ * is not — so it carries its own `state` rather than collapsing to blank fields.
11
+ */
12
+
13
+ /** @typedef {{ readonly commitHash: string, readonly dirty: boolean, readonly packageVersion: string }} NodeBuildInfo */
14
+ /** @typedef {"cached" | "live" | "unavailable"} NodeBuildState */
15
+ /** @typedef {NodeBuildInfo & { readonly observedAtMs?: number, readonly state: NodeBuildState }} NodeBuildReport */
16
+ /** @typedef {{ readonly available?: string, readonly running?: string }} ClientBuildReport */
17
+ /** @typedef {{ readonly deviceDid: string, readonly homeNodeId: string }} NodeAboutIdentity */
18
+ /** @typedef {{ readonly client: ClientBuildReport, readonly id: "node-about", readonly identity: NodeAboutIdentity, readonly node: NodeBuildReport }} NodeAbout */
19
+
20
+ /** The single-row key for `node.about.v1`. */
21
+ export const NODE_ABOUT_ROW_ID = "node-about";
22
+
23
+ /** Matches `RELEASE_MANIFEST_LIMITS.maxBuildIdLength`, for the same reason: an unbounded
24
+ * string from the wire must never reach a layout. */
25
+ const MAX_FIELD_LENGTH = 128;
26
+
27
+ /**
28
+ * Parses the `/api/v2/version/build` response body.
29
+ *
30
+ * Returns `undefined` for anything that is not the complete shape — a partial build report
31
+ * is worse than none, because the card would show a version with no hash and read as
32
+ * "this build has no commit", which is a different and false claim.
33
+ *
34
+ * @param {unknown} candidate
35
+ * @returns {NodeBuildInfo | undefined}
36
+ */
37
+ export function parseBuildInfo(candidate) {
38
+ if (typeof candidate !== "object" || candidate === null || Array.isArray(candidate)) {
39
+ return undefined;
40
+ }
41
+ const value = /** @type {Record<string, unknown>} */ (candidate);
42
+ const commitHash = boundedString(value.commitHash);
43
+ const packageVersion = boundedString(value.packageVersion);
44
+ if (commitHash === undefined || packageVersion === undefined) return undefined;
45
+ if (typeof value.dirty !== "boolean") return undefined;
46
+ return { commitHash, dirty: value.dirty, packageVersion };
47
+ }
48
+
49
+ /**
50
+ * @param {unknown} value
51
+ * @returns {string | undefined}
52
+ */
53
+ function boundedString(value) {
54
+ if (typeof value !== "string") return undefined;
55
+ if (value.length === 0 || value.length > MAX_FIELD_LENGTH) return undefined;
56
+ return value;
57
+ }