@principles/core 1.270.0 → 1.270.2
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/runtime-v2/__tests__/architecture-regression.test.js +12 -2
- package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js +1 -1
- package/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/owner-identity.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/owner-identity.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/owner-identity.test.js +147 -0
- package/dist/runtime-v2/__tests__/owner-identity.test.js.map +1 -0
- package/dist/runtime-v2/__tests__/product-telemetry-contract.test.d.ts +18 -0
- package/dist/runtime-v2/__tests__/product-telemetry-contract.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/product-telemetry-contract.test.js +303 -0
- package/dist/runtime-v2/__tests__/product-telemetry-contract.test.js.map +1 -0
- package/dist/runtime-v2/__tests__/recovery-actions-log.test.js +40 -0
- package/dist/runtime-v2/__tests__/recovery-actions-log.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/status-contract.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/status-contract.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/status-contract.test.js +107 -0
- package/dist/runtime-v2/__tests__/status-contract.test.js.map +1 -0
- package/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.js +1 -1
- package/dist/runtime-v2/adapter/__tests__/chaos-json-repair.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/json-extractor.test.js +91 -1
- package/dist/runtime-v2/adapter/__tests__/json-extractor.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js +59 -12
- package/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.js +10 -9
- package/dist/runtime-v2/adapter/__tests__/runtime-config-contract.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js +42 -1
- package/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js.map +1 -1
- package/dist/runtime-v2/adapter/json-extractor.d.ts +25 -0
- package/dist/runtime-v2/adapter/json-extractor.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/json-extractor.js +126 -0
- package/dist/runtime-v2/adapter/json-extractor.js.map +1 -1
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts +9 -4
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.js +9 -4
- package/dist/runtime-v2/adapter/l2-agent-loop-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/output-repair-contract.d.ts +5 -1
- package/dist/runtime-v2/adapter/output-repair-contract.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/output-repair-contract.js +4 -1
- package/dist/runtime-v2/adapter/output-repair-contract.js.map +1 -1
- package/dist/runtime-v2/adapter/pi-ai-catalog.d.ts +7 -0
- package/dist/runtime-v2/adapter/pi-ai-catalog.d.ts.map +1 -0
- package/dist/runtime-v2/adapter/pi-ai-catalog.js +19 -0
- package/dist/runtime-v2/adapter/pi-ai-catalog.js.map +1 -0
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +13 -15
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +104 -37
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/structured-output-repair.d.ts +16 -1
- package/dist/runtime-v2/adapter/structured-output-repair.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/structured-output-repair.js +38 -6
- package/dist/runtime-v2/adapter/structured-output-repair.js.map +1 -1
- package/dist/runtime-v2/adapter/tools/diagnostician-tool.d.ts +1 -1
- package/dist/runtime-v2/adapter/tools/diagnostician-tool.d.ts.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +8 -9
- package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +27 -3
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.d.ts +11 -0
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.d.ts.map +1 -0
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js +93 -0
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js.map +1 -0
- package/dist/runtime-v2/config/pd-config-agent-binding.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-agent-binding.js +4 -13
- package/dist/runtime-v2/config/pd-config-agent-binding.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-effective.js +14 -7
- package/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-feature-flags.js +5 -12
- package/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.js +25 -0
- package/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js +36 -8
- package/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js.map +1 -1
- package/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js +36 -12
- package/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js.map +1 -1
- package/dist/runtime-v2/core-principles/core-axiom-block.d.ts +22 -8
- package/dist/runtime-v2/core-principles/core-axiom-block.d.ts.map +1 -1
- package/dist/runtime-v2/core-principles/core-axiom-block.js +28 -13
- package/dist/runtime-v2/core-principles/core-axiom-block.js.map +1 -1
- package/dist/runtime-v2/core-principles/core-principle-registry.d.ts +29 -4
- package/dist/runtime-v2/core-principles/core-principle-registry.d.ts.map +1 -1
- package/dist/runtime-v2/core-principles/core-principle-registry.js +68 -33
- package/dist/runtime-v2/core-principles/core-principle-registry.js.map +1 -1
- package/dist/runtime-v2/core-principles/index.d.ts +3 -3
- package/dist/runtime-v2/core-principles/index.d.ts.map +1 -1
- package/dist/runtime-v2/core-principles/index.js +1 -1
- package/dist/runtime-v2/core-principles/index.js.map +1 -1
- package/dist/runtime-v2/evolution/evolution-types.d.ts +2 -1
- package/dist/runtime-v2/evolution/evolution-types.d.ts.map +1 -1
- package/dist/runtime-v2/evolution/evolution-types.js.map +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.d.ts +2 -0
- package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.d.ts.map +1 -0
- package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.js +48 -0
- package/dist/runtime-v2/feature-flags/__tests__/anonymous-product-telemetry-flag.test.js.map +1 -0
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +66 -35
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.d.ts +2 -0
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.d.ts.map +1 -0
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js +83 -0
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-lifecycle.test.js.map +1 -0
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts +19 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +115 -13
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts +37 -0
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -0
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +296 -0
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -0
- package/dist/runtime-v2/feature-flags/index.d.ts +4 -2
- package/dist/runtime-v2/feature-flags/index.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/index.js +3 -1
- package/dist/runtime-v2/feature-flags/index.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +13 -6
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +15 -5
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js +29 -10
- package/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js.map +1 -1
- package/dist/runtime-v2/owner-identity.d.ts +69 -0
- package/dist/runtime-v2/owner-identity.d.ts.map +1 -0
- package/dist/runtime-v2/owner-identity.js +179 -0
- package/dist/runtime-v2/owner-identity.js.map +1 -0
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.js +2 -3
- package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/dist/runtime-v2/product-telemetry/daily-identity.d.ts +70 -0
- package/dist/runtime-v2/product-telemetry/daily-identity.d.ts.map +1 -0
- package/dist/runtime-v2/product-telemetry/daily-identity.js +89 -0
- package/dist/runtime-v2/product-telemetry/daily-identity.js.map +1 -0
- package/dist/runtime-v2/product-telemetry/snapshot-contract.d.ts +110 -0
- package/dist/runtime-v2/product-telemetry/snapshot-contract.d.ts.map +1 -0
- package/dist/runtime-v2/product-telemetry/snapshot-contract.js +250 -0
- package/dist/runtime-v2/product-telemetry/snapshot-contract.js.map +1 -0
- package/dist/runtime-v2/pruning-read-model.d.ts +2 -1
- package/dist/runtime-v2/pruning-read-model.d.ts.map +1 -1
- package/dist/runtime-v2/pruning-read-model.js.map +1 -1
- package/dist/runtime-v2/recovery-actions-log.d.ts +7 -0
- package/dist/runtime-v2/recovery-actions-log.d.ts.map +1 -1
- package/dist/runtime-v2/recovery-actions-log.js +6 -0
- package/dist/runtime-v2/recovery-actions-log.js.map +1 -1
- package/dist/runtime-v2/runtime-protocol.js +1 -1
- package/dist/runtime-v2/runtime-protocol.js.map +1 -1
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js +17 -1
- package/dist/runtime-v2/store/task/__tests__/sqlite-task-store.failed-tasks.test.js.map +1 -1
- package/dist/runtime-v2/store/task/sqlite-task-store.d.ts.map +1 -1
- package/dist/runtime-v2/store/task/sqlite-task-store.js +10 -0
- package/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
- package/dist/runtime-v2/store/task/task-types.d.ts +2 -0
- package/dist/runtime-v2/store/task/task-types.d.ts.map +1 -1
- package/dist/runtime-v2/task-status.d.ts +9 -5
- package/dist/runtime-v2/task-status.d.ts.map +1 -1
- package/dist/runtime-v2/task-status.js +15 -7
- package/dist/runtime-v2/task-status.js.map +1 -1
- package/dist/runtime-v2/types/index.d.ts +1 -1
- package/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/dist/runtime-v2/types/index.js +1 -1
- package/dist/runtime-v2/types/index.js.map +1 -1
- package/dist/runtime-v2/types/principle-enums.d.ts +3 -2
- package/dist/runtime-v2/types/principle-enums.d.ts.map +1 -1
- package/dist/runtime-v2/types/principle-enums.js +11 -5
- package/dist/runtime-v2/types/principle-enums.js.map +1 -1
- package/dist/runtime-v2/types/principle-schema.d.ts +1 -1
- package/dist/runtime-v2/types/principle-tree-store.d.ts +1 -1
- package/package.json +2 -3
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OwnerIdentity — install-level Owner identity registration (ADR-0022).
|
|
3
|
+
*
|
|
4
|
+
* Resolution precedence — a single resolver whose documented chain IS the
|
|
5
|
+
* single source of truth (AGENTS.md P4; same shape as DEFAULT_FEATURE_FLAGS +
|
|
6
|
+
* config override):
|
|
7
|
+
*
|
|
8
|
+
* PD_OWNER_ID + PD_OWNER_CREDENTIAL_ID (env, highest — CI/ops)
|
|
9
|
+
* -> ~/.pd/owner.json (install-level, registered via Console Settings)
|
|
10
|
+
* -> none
|
|
11
|
+
*
|
|
12
|
+
* Persists identifiers only; never secret/token values (ADR-0016 §2.2/§2.3).
|
|
13
|
+
* ERR-045: the `credentialId` field name matches SECRET_KEY_SEGMENTS
|
|
14
|
+
* (pd-config-store.ts) and is auto-redacted in any log/config echo path —
|
|
15
|
+
* expected defense in depth, do not "fix".
|
|
16
|
+
*
|
|
17
|
+
* The env override is an ATOMIC PAIR (ADR-0022 review): if either
|
|
18
|
+
* PD_OWNER_ID or PD_OWNER_CREDENTIAL_ID is set (even to empty/whitespace)
|
|
19
|
+
* without the other being set and non-empty, resolution FAILS CLOSED —
|
|
20
|
+
* source 'invalid_env', no ownerId/credentialId, and the file is NOT read.
|
|
21
|
+
* Reason: ops may be mid-migration to a different Owner while an old file
|
|
22
|
+
* identity still sits on disk; silently continuing under the old identity is
|
|
23
|
+
* an authority-attribution bug (rc-9), not a config fallback.
|
|
24
|
+
*
|
|
25
|
+
* File reads distinguish "absent" (ENOENT — a valid not-registered state)
|
|
26
|
+
* from any other filesystem failure (EACCES, EISDIR, EPERM, I/O): a read
|
|
27
|
+
* failure is surfaced as a diagnosable error and never interpreted as
|
|
28
|
+
* "Owner not registered".
|
|
29
|
+
*/
|
|
30
|
+
import * as fs from 'fs';
|
|
31
|
+
import * as os from 'os';
|
|
32
|
+
import * as path from 'path';
|
|
33
|
+
export const OWNER_IDENTITY_SCHEMA_VERSION = 1;
|
|
34
|
+
export const OWNER_IDENTITY_FILE_NAME = 'owner.json';
|
|
35
|
+
export function ownerIdentityFilePath(homeDir) {
|
|
36
|
+
return path.join(homeDir, '.pd', OWNER_IDENTITY_FILE_NAME);
|
|
37
|
+
}
|
|
38
|
+
export function defaultOwnerIdentityHomeDir() {
|
|
39
|
+
return os.homedir();
|
|
40
|
+
}
|
|
41
|
+
function parseOwnerIdentityRecord(raw) {
|
|
42
|
+
if (raw === null || typeof raw !== 'object') {
|
|
43
|
+
return { error: 'owner_identity_malformed: expected an object' };
|
|
44
|
+
}
|
|
45
|
+
const value = raw;
|
|
46
|
+
if (value.schemaVersion !== OWNER_IDENTITY_SCHEMA_VERSION) {
|
|
47
|
+
return { error: `owner_identity_unsupported_version: ${String(value.schemaVersion)}` };
|
|
48
|
+
}
|
|
49
|
+
const ownerId = typeof value.ownerId === 'string' ? value.ownerId.trim() : '';
|
|
50
|
+
const credentialId = typeof value.credentialId === 'string' ? value.credentialId.trim() : '';
|
|
51
|
+
const registeredAt = typeof value.registeredAt === 'string' ? value.registeredAt : '';
|
|
52
|
+
if (!ownerId || !credentialId) {
|
|
53
|
+
return { error: 'owner_identity_malformed: ownerId and credentialId must be non-empty strings' };
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
record: { schemaVersion: OWNER_IDENTITY_SCHEMA_VERSION, ownerId, credentialId, registeredAt },
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Read ~/.pd/owner.json. Absent file (ENOENT) => { record: null } — a valid
|
|
61
|
+
* "not registered" state. Malformed content => { record: null, error }. Any
|
|
62
|
+
* other filesystem failure (EACCES, EISDIR, EPERM, I/O) => { record: null,
|
|
63
|
+
* error: 'owner_identity_read_failed: <code>' } — it must never be
|
|
64
|
+
* interpreted as "Owner not registered".
|
|
65
|
+
*/
|
|
66
|
+
export function readOwnerIdentityFile(homeDir) {
|
|
67
|
+
const filePath = ownerIdentityFilePath(homeDir);
|
|
68
|
+
let raw;
|
|
69
|
+
try {
|
|
70
|
+
raw = fs.readFileSync(filePath, 'utf8');
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
const { code } = error;
|
|
74
|
+
if (code === 'ENOENT')
|
|
75
|
+
return { record: null };
|
|
76
|
+
return {
|
|
77
|
+
record: null,
|
|
78
|
+
error: `owner_identity_read_failed: ${typeof code === 'string' && code.length > 0 ? code : 'unreadable'}`,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
let parsed;
|
|
82
|
+
try {
|
|
83
|
+
parsed = JSON.parse(raw);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return { record: null, error: 'owner_identity_malformed: invalid JSON' };
|
|
87
|
+
}
|
|
88
|
+
const result = parseOwnerIdentityRecord(parsed);
|
|
89
|
+
if (result.error !== undefined)
|
|
90
|
+
return { record: null, error: result.error };
|
|
91
|
+
if (result.record === undefined) {
|
|
92
|
+
return { record: null, error: 'owner_identity_malformed: parse returned no record' };
|
|
93
|
+
}
|
|
94
|
+
return { record: result.record };
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Write ~/.pd/owner.json (mkdir -p, then confirm by re-read). Trims input;
|
|
98
|
+
* rejects empty ownerId/credentialId.
|
|
99
|
+
*/
|
|
100
|
+
export function writeOwnerIdentityFile(homeDir, input) {
|
|
101
|
+
const ownerId = input.ownerId.trim();
|
|
102
|
+
const credentialId = input.credentialId.trim();
|
|
103
|
+
if (!ownerId || !credentialId) {
|
|
104
|
+
return { ok: false, error: 'owner_identity_invalid_input: ownerId and credentialId must be non-empty' };
|
|
105
|
+
}
|
|
106
|
+
const record = {
|
|
107
|
+
schemaVersion: OWNER_IDENTITY_SCHEMA_VERSION,
|
|
108
|
+
ownerId,
|
|
109
|
+
credentialId,
|
|
110
|
+
registeredAt: new Date().toISOString(),
|
|
111
|
+
};
|
|
112
|
+
try {
|
|
113
|
+
fs.mkdirSync(path.join(homeDir, '.pd'), { recursive: true });
|
|
114
|
+
fs.writeFileSync(ownerIdentityFilePath(homeDir), `${JSON.stringify(record, null, 2)}\n`, {
|
|
115
|
+
encoding: 'utf8',
|
|
116
|
+
mode: 0o600,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return { ok: false, error: `owner_identity_write_failed: ${error instanceof Error ? error.message : String(error)}` };
|
|
121
|
+
}
|
|
122
|
+
const reread = readOwnerIdentityFile(homeDir);
|
|
123
|
+
if (reread.record === null) {
|
|
124
|
+
return { ok: false, error: reread.error ?? 'owner_identity_write_confirm_failed: re-read returned no record' };
|
|
125
|
+
}
|
|
126
|
+
return { ok: true, record: reread.record };
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Delete ~/.pd/owner.json. Absent file is a no-op success (unregister is
|
|
130
|
+
* idempotent). Uses unlinkSync (not rmSync) to avoid any rm-interception.
|
|
131
|
+
*/
|
|
132
|
+
export function deleteOwnerIdentityFile(homeDir) {
|
|
133
|
+
const filePath = ownerIdentityFilePath(homeDir);
|
|
134
|
+
try {
|
|
135
|
+
fs.unlinkSync(filePath);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
const { code } = error;
|
|
139
|
+
if (code === 'ENOENT')
|
|
140
|
+
return { ok: true };
|
|
141
|
+
return { ok: false, error: `owner_identity_delete_failed: ${error instanceof Error ? error.message : String(error)}` };
|
|
142
|
+
}
|
|
143
|
+
return { ok: true };
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Resolve the Owner identity — the atomic-pair truth table (ADR-0022):
|
|
147
|
+
*
|
|
148
|
+
* A. neither env key set -> ~/.pd/owner.json (or none)
|
|
149
|
+
* B. both keys set and non-empty (trim) -> env
|
|
150
|
+
* C/D/E. anything else where at least -> INVALID (fail-closed):
|
|
151
|
+
* one key is explicitly set no file fallback, no identity
|
|
152
|
+
*/
|
|
153
|
+
export function resolveOwnerIdentity(env, homeDir) {
|
|
154
|
+
const envOwnerIdSet = Object.hasOwn(env, 'PD_OWNER_ID');
|
|
155
|
+
const envCredentialIdSet = Object.hasOwn(env, 'PD_OWNER_CREDENTIAL_ID');
|
|
156
|
+
if (envOwnerIdSet || envCredentialIdSet) {
|
|
157
|
+
const envOwnerId = env.PD_OWNER_ID?.trim() ?? '';
|
|
158
|
+
const envCredentialId = env.PD_OWNER_CREDENTIAL_ID?.trim() ?? '';
|
|
159
|
+
if (envOwnerId && envCredentialId) {
|
|
160
|
+
return { ownerId: envOwnerId, credentialId: envCredentialId, source: 'env' };
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
ownerId: null,
|
|
164
|
+
credentialId: null,
|
|
165
|
+
source: 'invalid_env',
|
|
166
|
+
error: 'owner_identity_invalid_env: PD_OWNER_ID and PD_OWNER_CREDENTIAL_ID must be set together, both non-empty, to use the env override',
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
const file = readOwnerIdentityFile(homeDir);
|
|
170
|
+
if (file.record !== null) {
|
|
171
|
+
return { ownerId: file.record.ownerId, credentialId: file.record.credentialId, source: 'file' };
|
|
172
|
+
}
|
|
173
|
+
// A file read failure must not masquerade as a clean "not registered":
|
|
174
|
+
// surface the reason, resolve no identity.
|
|
175
|
+
return file.error !== undefined
|
|
176
|
+
? { ownerId: null, credentialId: null, source: 'none', error: file.error }
|
|
177
|
+
: { ownerId: null, credentialId: null, source: 'none' };
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=owner-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-identity.js","sourceRoot":"","sources":["../../src/runtime-v2/owner-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-signal-runtime-factory.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-runtime-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAe9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"pain-signal-runtime-factory.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-runtime-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import { SqliteTrajectoryLocator } from './store/trajectory/sqlite-trajectory-lo
|
|
|
30
30
|
import { SqliteSourceTraceLocator } from './store/trajectory/sqlite-source-trace-locator.js';
|
|
31
31
|
import { OpenClawCliRuntimeAdapter } from './adapter/openclaw-cli-runtime-adapter.js';
|
|
32
32
|
import { PiAiRuntimeAdapter } from './adapter/pi-ai-runtime-adapter.js';
|
|
33
|
-
import {
|
|
33
|
+
import { isBuiltinPiAiProvider } from './adapter/pi-ai-catalog.js';
|
|
34
34
|
import { storeEmitter } from './store/event-emitter.js';
|
|
35
35
|
import { WorkflowFunnelLoader } from '../workflow-funnel-loader.js';
|
|
36
36
|
import { resolveAgentRuntimeBinding, checkAgentRuntimeReadiness, createAdapterConfigFromProfile, } from './config/pd-config-agent-binding.js';
|
|
@@ -199,8 +199,7 @@ export function validateRuntimeConfig(config) {
|
|
|
199
199
|
missing.push('apiKeyEnv');
|
|
200
200
|
// Non-built-in providers require baseUrl
|
|
201
201
|
if (config.provider) {
|
|
202
|
-
|
|
203
|
-
if (!knownProviders.includes(config.provider) && !config.baseUrl) {
|
|
202
|
+
if (!isBuiltinPiAiProvider(config.provider) && !config.baseUrl) {
|
|
204
203
|
missing.push('baseUrl');
|
|
205
204
|
}
|
|
206
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-signal-runtime-factory.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-runtime-factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pain-signal-runtime-factory.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-signal-runtime-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daily unlinkable telemetry identity — Anonymous Product Telemetry v1
|
|
3
|
+
* (PRI-598, SPEC §15-§18; review remediation: workspace measurement unit).
|
|
4
|
+
*
|
|
5
|
+
* Pure crypto derivation — no I/O (node:crypto HMAC/hash only, same purity
|
|
6
|
+
* class as feedback/fingerprint.ts).
|
|
7
|
+
*
|
|
8
|
+
* Privacy property: the collector sees one opaque ID per
|
|
9
|
+
* (secret, workspace, UTC date). IDs from different dates — and from
|
|
10
|
+
* different workspaces — are computationally unlinkable without the secret,
|
|
11
|
+
* so no cross-day or cross-workspace timeline can be reconstructed from
|
|
12
|
+
* collected IDs alone. The workspace scope ID is LOCAL bookkeeping only;
|
|
13
|
+
* it is never uploaded (the server cannot derive it without the secret).
|
|
14
|
+
*/
|
|
15
|
+
/** Local secret length in bytes (stored as 64 hex chars). Never uploaded. */
|
|
16
|
+
export declare const TELEMETRY_SECRET_BYTES = 32;
|
|
17
|
+
/** Hex length of the derived daily telemetry ID (16 bytes of HMAC output). */
|
|
18
|
+
export declare const DAILY_TELEMETRY_ID_HEX_LENGTH = 32;
|
|
19
|
+
/** Hex length of the local workspace scope ID (8 bytes of HMAC output). */
|
|
20
|
+
export declare const WORKSPACE_SCOPE_ID_HEX_LENGTH = 16;
|
|
21
|
+
/**
|
|
22
|
+
* Generate a fresh cryptographically random telemetry secret.
|
|
23
|
+
*
|
|
24
|
+
* Unrelated to machine, user, workspace path, or project content by
|
|
25
|
+
* construction (CSPRNG output only). Callers persist it locally and must
|
|
26
|
+
* never export it.
|
|
27
|
+
*/
|
|
28
|
+
export declare function generateTelemetrySecretHex(): string;
|
|
29
|
+
/** Return true when `value` is syntactically a valid stored telemetry secret. */
|
|
30
|
+
export declare function isValidTelemetrySecretHex(value: unknown): value is string;
|
|
31
|
+
/**
|
|
32
|
+
* Coarse UTC date bucket (YYYY-MM-DD) for a point in time.
|
|
33
|
+
*
|
|
34
|
+
* UTC — not local time — so a snapshot derived near midnight always maps to
|
|
35
|
+
* one deterministic bucket regardless of the machine timezone.
|
|
36
|
+
*/
|
|
37
|
+
export declare function bucketDateFromTime(timeMs: number): string;
|
|
38
|
+
/** Return true when `value` is a syntactically valid YYYY-MM-DD bucket date. */
|
|
39
|
+
export declare function isValidBucketDate(value: unknown): value is string;
|
|
40
|
+
/**
|
|
41
|
+
* Derive the LOCAL workspace scope ID used to key workspace-scoped export
|
|
42
|
+
* bookkeeping (dedup, retry, lock) inside the control state:
|
|
43
|
+
*
|
|
44
|
+
* workspaceScopeId = hex( HMAC-SHA256(key = telemetrySecret,
|
|
45
|
+
* msg = "workspace:" + canonicalWorkspacePath) )[0..16]
|
|
46
|
+
*
|
|
47
|
+
* Keyed by the telemetry secret so the stored map keys carry no information
|
|
48
|
+
* about the workspace path (a plain hash of the path would be enumerable;
|
|
49
|
+
* without the secret the value is indistinguishable from random). Used for
|
|
50
|
+
* local bookkeeping and lock filenames ONLY — never uploaded, never sent.
|
|
51
|
+
*
|
|
52
|
+
* Callers pass an already-canonicalized path (resolve + realpath + separator
|
|
53
|
+
* and case normalization live at the I/O boundary in host-runtime).
|
|
54
|
+
*/
|
|
55
|
+
export declare function deriveWorkspaceScopeId(telemetrySecretHex: string, canonicalWorkspacePath: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Derive the daily anonymous telemetry ID for one workspace:
|
|
58
|
+
*
|
|
59
|
+
* dailyTelemetryId = hex( HMAC-SHA256(key = telemetrySecret,
|
|
60
|
+
* msg = "daily-workspace:" + workspaceScopeId + ":" + bucketDate) )[0..32]
|
|
61
|
+
*
|
|
62
|
+
* Deterministic for the same (secret, workspace, date) — required for
|
|
63
|
+
* same-day dedup on the collector — and unlinkable across dates AND across
|
|
64
|
+
* workspaces without the secret. The "daily-workspace:"/"workspace:" message
|
|
65
|
+
* prefixes keep the two derivations domain-separated.
|
|
66
|
+
*/
|
|
67
|
+
export declare function deriveDailyTelemetryId(telemetrySecretHex: string, workspaceScopeId: string, bucketDate: string): string;
|
|
68
|
+
/** Return true when `value` is syntactically a valid daily telemetry ID. */
|
|
69
|
+
export declare function isValidDailyTelemetryId(value: unknown): value is string;
|
|
70
|
+
//# sourceMappingURL=daily-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-identity.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/product-telemetry/daily-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAMjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,GAAG,MAAM,CAEzG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvH;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEvE"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daily unlinkable telemetry identity — Anonymous Product Telemetry v1
|
|
3
|
+
* (PRI-598, SPEC §15-§18; review remediation: workspace measurement unit).
|
|
4
|
+
*
|
|
5
|
+
* Pure crypto derivation — no I/O (node:crypto HMAC/hash only, same purity
|
|
6
|
+
* class as feedback/fingerprint.ts).
|
|
7
|
+
*
|
|
8
|
+
* Privacy property: the collector sees one opaque ID per
|
|
9
|
+
* (secret, workspace, UTC date). IDs from different dates — and from
|
|
10
|
+
* different workspaces — are computationally unlinkable without the secret,
|
|
11
|
+
* so no cross-day or cross-workspace timeline can be reconstructed from
|
|
12
|
+
* collected IDs alone. The workspace scope ID is LOCAL bookkeeping only;
|
|
13
|
+
* it is never uploaded (the server cannot derive it without the secret).
|
|
14
|
+
*/
|
|
15
|
+
import { createHmac, randomBytes } from 'node:crypto';
|
|
16
|
+
/** Local secret length in bytes (stored as 64 hex chars). Never uploaded. */
|
|
17
|
+
export const TELEMETRY_SECRET_BYTES = 32;
|
|
18
|
+
/** Hex length of the derived daily telemetry ID (16 bytes of HMAC output). */
|
|
19
|
+
export const DAILY_TELEMETRY_ID_HEX_LENGTH = 32;
|
|
20
|
+
/** Hex length of the local workspace scope ID (8 bytes of HMAC output). */
|
|
21
|
+
export const WORKSPACE_SCOPE_ID_HEX_LENGTH = 16;
|
|
22
|
+
/**
|
|
23
|
+
* Generate a fresh cryptographically random telemetry secret.
|
|
24
|
+
*
|
|
25
|
+
* Unrelated to machine, user, workspace path, or project content by
|
|
26
|
+
* construction (CSPRNG output only). Callers persist it locally and must
|
|
27
|
+
* never export it.
|
|
28
|
+
*/
|
|
29
|
+
export function generateTelemetrySecretHex() {
|
|
30
|
+
return randomBytes(TELEMETRY_SECRET_BYTES).toString('hex');
|
|
31
|
+
}
|
|
32
|
+
/** Return true when `value` is syntactically a valid stored telemetry secret. */
|
|
33
|
+
export function isValidTelemetrySecretHex(value) {
|
|
34
|
+
return typeof value === 'string' && /^[0-9a-f]{64}$/.test(value);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Coarse UTC date bucket (YYYY-MM-DD) for a point in time.
|
|
38
|
+
*
|
|
39
|
+
* UTC — not local time — so a snapshot derived near midnight always maps to
|
|
40
|
+
* one deterministic bucket regardless of the machine timezone.
|
|
41
|
+
*/
|
|
42
|
+
export function bucketDateFromTime(timeMs) {
|
|
43
|
+
return new Date(timeMs).toISOString().slice(0, 10);
|
|
44
|
+
}
|
|
45
|
+
/** Return true when `value` is a syntactically valid YYYY-MM-DD bucket date. */
|
|
46
|
+
export function isValidBucketDate(value) {
|
|
47
|
+
if (typeof value !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const parsed = new Date(`${value}T00:00:00.000Z`);
|
|
51
|
+
return !Number.isNaN(parsed.getTime()) && parsed.toISOString().slice(0, 10) === value;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Derive the LOCAL workspace scope ID used to key workspace-scoped export
|
|
55
|
+
* bookkeeping (dedup, retry, lock) inside the control state:
|
|
56
|
+
*
|
|
57
|
+
* workspaceScopeId = hex( HMAC-SHA256(key = telemetrySecret,
|
|
58
|
+
* msg = "workspace:" + canonicalWorkspacePath) )[0..16]
|
|
59
|
+
*
|
|
60
|
+
* Keyed by the telemetry secret so the stored map keys carry no information
|
|
61
|
+
* about the workspace path (a plain hash of the path would be enumerable;
|
|
62
|
+
* without the secret the value is indistinguishable from random). Used for
|
|
63
|
+
* local bookkeeping and lock filenames ONLY — never uploaded, never sent.
|
|
64
|
+
*
|
|
65
|
+
* Callers pass an already-canonicalized path (resolve + realpath + separator
|
|
66
|
+
* and case normalization live at the I/O boundary in host-runtime).
|
|
67
|
+
*/
|
|
68
|
+
export function deriveWorkspaceScopeId(telemetrySecretHex, canonicalWorkspacePath) {
|
|
69
|
+
return createHmac('sha256', telemetrySecretHex).update(`workspace:${canonicalWorkspacePath}`).digest('hex').slice(0, WORKSPACE_SCOPE_ID_HEX_LENGTH);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Derive the daily anonymous telemetry ID for one workspace:
|
|
73
|
+
*
|
|
74
|
+
* dailyTelemetryId = hex( HMAC-SHA256(key = telemetrySecret,
|
|
75
|
+
* msg = "daily-workspace:" + workspaceScopeId + ":" + bucketDate) )[0..32]
|
|
76
|
+
*
|
|
77
|
+
* Deterministic for the same (secret, workspace, date) — required for
|
|
78
|
+
* same-day dedup on the collector — and unlinkable across dates AND across
|
|
79
|
+
* workspaces without the secret. The "daily-workspace:"/"workspace:" message
|
|
80
|
+
* prefixes keep the two derivations domain-separated.
|
|
81
|
+
*/
|
|
82
|
+
export function deriveDailyTelemetryId(telemetrySecretHex, workspaceScopeId, bucketDate) {
|
|
83
|
+
return createHmac('sha256', telemetrySecretHex).update(`daily-workspace:${workspaceScopeId}:${bucketDate}`).digest('hex').slice(0, DAILY_TELEMETRY_ID_HEX_LENGTH);
|
|
84
|
+
}
|
|
85
|
+
/** Return true when `value` is syntactically a valid daily telemetry ID. */
|
|
86
|
+
export function isValidDailyTelemetryId(value) {
|
|
87
|
+
return typeof value === 'string' && value.length === DAILY_TELEMETRY_ID_HEX_LENGTH && /^[0-9a-f]+$/.test(value);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=daily-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-identity.js","sourceRoot":"","sources":["../../../src/runtime-v2/product-telemetry/daily-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,WAAW,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CAAC,kBAA0B,EAAE,sBAA8B;IAC/F,OAAO,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,aAAa,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;AACtJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,kBAA0B,EAAE,gBAAwB,EAAE,UAAkB;IAC7G,OAAO,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,mBAAmB,gBAAgB,IAAI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;AACpK,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,6BAA6B,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClH,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Product telemetry snapshot contract — Anonymous Product Telemetry v1
|
|
3
|
+
* (PRI-598, SPEC §23-§34; review remediation: tri-state milestone facts).
|
|
4
|
+
*
|
|
5
|
+
* Pure contract: schema, strict validator, and snapshot builder. No I/O.
|
|
6
|
+
* Durable-fact readers live in host-runtime (I/O boundary); this module only
|
|
7
|
+
* validates and assembles what they provide.
|
|
8
|
+
*
|
|
9
|
+
* Privacy invariants enforced here:
|
|
10
|
+
* - Exact-key strictness: unknown top-level or nested fields are validation
|
|
11
|
+
* errors (mirrored by the collector, which must reject them with 400).
|
|
12
|
+
* - Only boolean-or-null milestones — no counts, no content, no paths.
|
|
13
|
+
* - A privacy guard makes schema scope creep (fields whose names carry
|
|
14
|
+
* prohibited concepts) fail tests, not just review.
|
|
15
|
+
*
|
|
16
|
+
* Tri-state semantics (measurement honesty — "Unknown ≠ false"):
|
|
17
|
+
* - `true` = source evaluable AND evidence observed;
|
|
18
|
+
* - `false` = source evaluable AND no evidence observed;
|
|
19
|
+
* - `null` = source not currently evaluable (missing/unreadable/degraded).
|
|
20
|
+
* A null milestone is excluded from the dashboard denominator — it must
|
|
21
|
+
* never be summed, counted as 0, or interpreted as "not observed".
|
|
22
|
+
*/
|
|
23
|
+
import { type Static } from '@sinclair/typebox';
|
|
24
|
+
export declare const PRODUCT_TELEMETRY_SNAPSHOT_SCHEMA_VERSION = "1";
|
|
25
|
+
export declare const PRODUCT_TELEMETRY_CONSENT_VERSION = "1";
|
|
26
|
+
/** Coarse host kind derived from the install manifest, not the triggering process. */
|
|
27
|
+
export declare const PRODUCT_TELEMETRY_HOST_KINDS: readonly ['openclaw', 'codex', 'other'];
|
|
28
|
+
export type ProductTelemetryHostKind = (typeof PRODUCT_TELEMETRY_HOST_KINDS)[number];
|
|
29
|
+
/** Bounded PD version (npm version string, e.g. "1.218.0"). */
|
|
30
|
+
export declare const PRODUCT_TELEMETRY_PD_VERSION_MAX_LENGTH = 32;
|
|
31
|
+
/** A milestone or reliability fact: observed true / evaluated false / unavailable null. */
|
|
32
|
+
export type TelemetryFact = boolean | null;
|
|
33
|
+
export declare const ProductTelemetrySnapshotV1Schema: import("@sinclair/typebox").TObject<{
|
|
34
|
+
schemaVersion: import("@sinclair/typebox").TLiteral<"1">;
|
|
35
|
+
dailyTelemetryId: import("@sinclair/typebox").TString;
|
|
36
|
+
bucketDate: import("@sinclair/typebox").TString;
|
|
37
|
+
pdVersion: import("@sinclair/typebox").TString;
|
|
38
|
+
hostKind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"openclaw">, import("@sinclair/typebox").TLiteral<"codex">, import("@sinclair/typebox").TLiteral<"other">]>;
|
|
39
|
+
milestones: import("@sinclair/typebox").TObject<{
|
|
40
|
+
initialized: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
41
|
+
painObserved: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
42
|
+
principleObserved: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
43
|
+
activationObserved: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
44
|
+
presenceReceiptObserved: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
45
|
+
effectReceiptObserved: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
46
|
+
}>;
|
|
47
|
+
reliability: import("@sinclair/typebox").TObject<{
|
|
48
|
+
initializationFailed: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>;
|
|
49
|
+
}>;
|
|
50
|
+
consentVersion: import("@sinclair/typebox").TString;
|
|
51
|
+
}>;
|
|
52
|
+
export type ProductTelemetrySnapshotV1 = Static<typeof ProductTelemetrySnapshotV1Schema>;
|
|
53
|
+
/** The 8 top-level fields, in wire order. The collector allowlist must equal this set. */
|
|
54
|
+
export declare const PRODUCT_TELEMETRY_TOP_LEVEL_FIELDS: readonly ["schemaVersion", "dailyTelemetryId", "bucketDate", "pdVersion", "hostKind", "milestones", "reliability", "consentVersion"];
|
|
55
|
+
/**
|
|
56
|
+
* Field-name concepts that must never appear in the telemetry schema.
|
|
57
|
+
* Guard (SPEC §64): makes privacy regression technically difficult — adding
|
|
58
|
+
* a field whose name matches one of these tokens fails the privacy guard
|
|
59
|
+
* test unless explicitly allowlisted here with a justification.
|
|
60
|
+
*/
|
|
61
|
+
export declare const PROHIBITED_TELEMETRY_FIELD_TOKENS: readonly ['content', 'prompt', 'message', 'path', 'file', 'repo', 'email', 'username', 'hostname', 'stack', 'arguments', 'payload', 'toolinput', 'tooloutput'];
|
|
62
|
+
/**
|
|
63
|
+
* Collect all field names of the schema contract (recursively) and assert
|
|
64
|
+
* none matches a prohibited token. Throws with the offending names.
|
|
65
|
+
*/
|
|
66
|
+
export declare function assertTelemetrySchemaPrivacy(fieldNames: readonly string[]): void;
|
|
67
|
+
export interface SnapshotValidationOk {
|
|
68
|
+
ok: true;
|
|
69
|
+
value: ProductTelemetrySnapshotV1;
|
|
70
|
+
}
|
|
71
|
+
export interface SnapshotValidationErr {
|
|
72
|
+
ok: false;
|
|
73
|
+
errors: string[];
|
|
74
|
+
}
|
|
75
|
+
export type SnapshotValidationResult = SnapshotValidationOk | SnapshotValidationErr;
|
|
76
|
+
/**
|
|
77
|
+
* Strict validation of an untrusted parsed snapshot (EP-01: unknown until
|
|
78
|
+
* proven). Rejects unknown keys at both levels, wrong types, malformed
|
|
79
|
+
* dates/IDs, overlong versions, and non-allowlisted host kinds.
|
|
80
|
+
*/
|
|
81
|
+
export declare function validateProductTelemetrySnapshot(raw: unknown): SnapshotValidationResult;
|
|
82
|
+
/** Milestone facts derived by the host-runtime reader from durable sources. */
|
|
83
|
+
export interface ProductTelemetryMilestoneInput {
|
|
84
|
+
initialized: TelemetryFact;
|
|
85
|
+
painObserved: TelemetryFact;
|
|
86
|
+
principleObserved: TelemetryFact;
|
|
87
|
+
activationObserved: TelemetryFact;
|
|
88
|
+
presenceReceiptObserved: TelemetryFact;
|
|
89
|
+
effectReceiptObserved: TelemetryFact;
|
|
90
|
+
}
|
|
91
|
+
/** Reliability facts (coarse; no messages, no stacks, no enums). */
|
|
92
|
+
export interface ProductTelemetryReliabilityInput {
|
|
93
|
+
initializationFailed: TelemetryFact;
|
|
94
|
+
}
|
|
95
|
+
export interface BuildSnapshotInput {
|
|
96
|
+
dailyTelemetryId: string;
|
|
97
|
+
bucketDate: string;
|
|
98
|
+
pdVersion: string;
|
|
99
|
+
hostKind: ProductTelemetryHostKind;
|
|
100
|
+
milestones: ProductTelemetryMilestoneInput;
|
|
101
|
+
reliability: ProductTelemetryReliabilityInput;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Assemble and validate one daily snapshot. Inputs are validated with the
|
|
105
|
+
* same strict validator the collector applies, so a snapshot that leaves
|
|
106
|
+
* this function is wire-valid by construction (fail loud on programmer
|
|
107
|
+
* error rather than letting an invalid payload reach the network).
|
|
108
|
+
*/
|
|
109
|
+
export declare function buildProductTelemetrySnapshot(input: BuildSnapshotInput): ProductTelemetrySnapshotV1;
|
|
110
|
+
//# sourceMappingURL=snapshot-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-contract.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/product-telemetry/snapshot-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,yCAAyC,MAAM,CAAC;AAC7D,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,YAAI,UAAU,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,+DAA+D;AAC/D,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAE1D,2FAA2F;AAC3F,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC;AAI3C,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;EAkB3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAEzF,0FAA0F;AAC1F,eAAO,MAAM,kCAAkC,sIASmB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,YAC5C,SAAS,EACT,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,CACJ,CAAC;AAEX;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAWhF;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAWpF;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,wBAAwB,CA+GvF;AAED,+EAA+E;AAC/E,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,aAAa,CAAC;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,iBAAiB,EAAE,aAAa,CAAC;IACjC,kBAAkB,EAAE,aAAa,CAAC;IAClC,uBAAuB,EAAE,aAAa,CAAC;IACvC,qBAAqB,EAAE,aAAa,CAAC;CACtC;AAED,oEAAoE;AACpE,MAAM,WAAW,gCAAgC;IAC/C,oBAAoB,EAAE,aAAa,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,wBAAwB,CAAC;IACnC,UAAU,EAAE,8BAA8B,CAAC;IAC3C,WAAW,EAAE,gCAAgC,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,kBAAkB,GAAG,0BAA0B,CAyBnG"}
|