create-principles-disciple 1.147.6 → 1.147.7
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/_release/product-identity.json +1 -1
- package/core/dist/runtime-v2/internalization/artificer-run-correlation.d.ts +1 -1
- package/core/dist/runtime-v2/internalization/artificer-run-correlation.js +1 -1
- package/core/dist/runtime-v2/internalization/consumer-evidence-preflight.d.ts +1 -1
- package/core/dist/runtime-v2/internalization/evidence-readiness.js +1 -1
- package/core/dist/runtime-v2/internalization/owner-evidence-recovery.d.ts +1 -1
- package/core/dist/runtime-v2/principle-reuse/reuse-domain.d.ts +1 -1
- package/core/dist/runtime-v2/principle-reuse/reuse-domain.js +1 -1
- package/core/dist/runtime-v2/principle-reuse/reuse-proposal.d.ts +1 -1
- package/core/dist/runtime-v2/principle-reuse/reuse-proposal.js +1 -1
- package/core/dist/runtime-v2/principle-reuse/reuse-retrieval.d.ts +1 -1
- package/core/dist/runtime-v2/principle-reuse/reuse-retrieval.js +1 -1
- package/core/dist/runtime-v2/trajectory-schema.d.ts +1 -1
- package/dist/installer.d.ts +0 -7
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +112 -28
- package/dist/installer.js.map +1 -1
- package/package.json +2 -2
- package/pd-cli/package.json +1 -1
- package/release-manager/dist/installer.js +112 -28
- package/release-manager/package.json +1 -1
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
* selection) — no unknown spreads, no raw tool output, no private
|
|
55
55
|
* trajectories.
|
|
56
56
|
*
|
|
57
|
-
* Spec: docs/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-08, §12 AC-09
|
|
57
|
+
* Spec: docs/archive/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-08, §12 AC-09
|
|
58
58
|
*/
|
|
59
59
|
/** FR-08 executionMode vocabulary, resolved per event by real semantics. */
|
|
60
60
|
export type ArtificerExecutionMode = 'l2' | 'l1' | 'preflight' | 'recovery';
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
* selection) — no unknown spreads, no raw tool output, no private
|
|
55
55
|
* trajectories.
|
|
56
56
|
*
|
|
57
|
-
* Spec: docs/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-08, §12 AC-09
|
|
57
|
+
* Spec: docs/archive/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-08, §12 AC-09
|
|
58
58
|
*/
|
|
59
59
|
/** rc-8: digest references stay a fixed bounded prefix. */
|
|
60
60
|
const DIGEST_PREFIX_LENGTH = 12;
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
* rc-8: failure details are bounded before they enter payloads.
|
|
46
46
|
* rc-9: every non-ready outcome carries reasonCode + nextAction.
|
|
47
47
|
*
|
|
48
|
-
* Spec: docs/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-02, §6.1/§6.2
|
|
48
|
+
* Spec: docs/archive/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-02, §6.1/§6.2
|
|
49
49
|
*/
|
|
50
50
|
import type { BehaviorExamplePack } from './behavior-example-pack.js';
|
|
51
51
|
import { type OwnerEvidenceReasonCode, type OwnerEvidenceSelection } from './evidence-readiness.js';
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
* does not guess channels (SPEC §4.2). A2 owns the authoritative wiring; this
|
|
43
43
|
* ticket provides the judgment only.
|
|
44
44
|
*
|
|
45
|
-
* Spec: docs/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-01
|
|
45
|
+
* Spec: docs/archive/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-01
|
|
46
46
|
*/
|
|
47
47
|
import { createHash } from 'node:crypto';
|
|
48
48
|
import { validateBehaviorExamplePack } from './behavior-example-pack.js';
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
* preconditions fail loudly with stable reasons + nextAction (rc-9). rc-8:
|
|
54
54
|
* telemetry payloads carry bounded references only.
|
|
55
55
|
*
|
|
56
|
-
* Spec: docs/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-03, FR-06, §6.1-§6.3
|
|
56
|
+
* Spec: docs/archive/specs/SPEC-PD-IAER-001-v1.0.md §5 FR-03, FR-06, §6.1-§6.3
|
|
57
57
|
*/
|
|
58
58
|
import type { StoreEventEmitter } from '../store/event-emitter.js';
|
|
59
59
|
import type { RuntimeStateManager } from '../store/runtime-state-manager.js';
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* surface (PRI-775) is a public contract, and this is an internal capability
|
|
11
11
|
* until it is proven by production use.
|
|
12
12
|
*
|
|
13
|
-
* @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
13
|
+
* @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
14
14
|
*/
|
|
15
15
|
/** The candidate fields that carry a Principle's semantic claim. */
|
|
16
16
|
export type ReuseSemanticField = 'text' | 'triggerPattern' | 'action';
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* surface (PRI-775) is a public contract, and this is an internal capability
|
|
11
11
|
* until it is proven by production use.
|
|
12
12
|
*
|
|
13
|
-
* @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
13
|
+
* @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
14
14
|
*/
|
|
15
15
|
export {};
|
|
16
16
|
//# sourceMappingURL=reuse-domain.js.map
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - any Console page, new approval subsystem, or automated decision model
|
|
11
11
|
* - any change to `derivedFromPainIds`, the ledger schema, or candidate status
|
|
12
12
|
*
|
|
13
|
-
* @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
13
|
+
* @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
14
14
|
*/
|
|
15
15
|
import type { ReuseShortlist } from './reuse-domain.js';
|
|
16
16
|
import type { ReuseEvidenceActor } from '../types/principle-schema.js';
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - any Console page, new approval subsystem, or automated decision model
|
|
11
11
|
* - any change to `derivedFromPainIds`, the ledger schema, or candidate status
|
|
12
12
|
*
|
|
13
|
-
* @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
13
|
+
* @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
14
14
|
*/
|
|
15
15
|
/**
|
|
16
16
|
* Converts a deterministic shortlist into the proposal contract.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* vector store, and no embedding service. It never writes: `derivedFromPainIds`,
|
|
8
8
|
* the ledger schema, and `activation_decisions` are all untouched.
|
|
9
9
|
*
|
|
10
|
-
* @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
10
|
+
* @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
11
11
|
*/
|
|
12
12
|
import type { ReuseCandidateInput, ReusablePrinciple, ReuseShortlist, ReuseShortlistOptions } from './reuse-domain.js';
|
|
13
13
|
/**
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* vector store, and no embedding service. It never writes: `derivedFromPainIds`,
|
|
8
8
|
* the ledger schema, and `activation_decisions` are all untouched.
|
|
9
9
|
*
|
|
10
|
-
* @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
10
|
+
* @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
|
|
11
11
|
*/
|
|
12
12
|
import { existsSync, readFileSync } from 'fs';
|
|
13
13
|
import { getLedgerFilePathPublic, loadLedger } from '../../principle-tree-ledger.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Canonical trajectory.db schema definition (PRI-774; SPEC:
|
|
3
|
-
* docs/specs/trajectory-data-plane-single-truth.md).
|
|
3
|
+
* docs/archive/specs/trajectory-data-plane-single-truth.md).
|
|
4
4
|
*
|
|
5
5
|
* Single source of truth for the schema applied by BOTH build paths:
|
|
6
6
|
* - openclaw-plugin applyTrajectorySchema() → Profile B/C (views: true)
|
package/dist/installer.d.ts
CHANGED
|
@@ -327,13 +327,6 @@ export declare function checkBuiltPlugin(pluginDir: string): Promise<void>;
|
|
|
327
327
|
* so an existing install is never destroyed by this step.
|
|
328
328
|
*/
|
|
329
329
|
export declare function preparePluginInstallTarget(targetDir: string): Promise<void>;
|
|
330
|
-
/**
|
|
331
|
-
* PRI-1102: a rollback is only as good as the state it returns to. The
|
|
332
|
-
* pre-run state can itself be incomplete (a component directory the previous
|
|
333
|
-
* run never finished, a link whose target is gone), so "restored" must not be
|
|
334
|
-
* reported as a healthy install without checking what the restored paths
|
|
335
|
-
* actually resolve to.
|
|
336
|
-
*/
|
|
337
330
|
export declare function describeRestoredStateGaps(): string[];
|
|
338
331
|
export declare function installPluginToStaging(pluginDir: string, language: SkillLanguage): Promise<void>;
|
|
339
332
|
/** Outcome of one global-shim discovery/install attempt (PRI-697 review P1). */
|
package/dist/installer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
package/dist/installer.js
CHANGED
|
@@ -1553,6 +1553,11 @@ export async function checkBuiltPlugin(pluginDir) {
|
|
|
1553
1553
|
}
|
|
1554
1554
|
}
|
|
1555
1555
|
}
|
|
1556
|
+
function filesystemErrorCode(error) {
|
|
1557
|
+
if (typeof error !== 'object' || error === null || !Object.hasOwn(error, 'code'))
|
|
1558
|
+
return undefined;
|
|
1559
|
+
return error.code;
|
|
1560
|
+
}
|
|
1556
1561
|
/**
|
|
1557
1562
|
* PRI-1102: a target that exists as a DANGLING link (an interrupted install
|
|
1558
1563
|
* left a reparse point whose target is gone) is not a directory the installer
|
|
@@ -1574,14 +1579,23 @@ export async function preparePluginInstallTarget(targetDir) {
|
|
|
1574
1579
|
throw new Error(`Cannot inspect plugin install target ${targetDir}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
1575
1580
|
}
|
|
1576
1581
|
if (stats !== undefined && stats.isSymbolicLink()) {
|
|
1577
|
-
let
|
|
1582
|
+
let targetAbsent = false;
|
|
1578
1583
|
try {
|
|
1579
1584
|
realpathSync(targetDir);
|
|
1580
1585
|
}
|
|
1581
|
-
catch {
|
|
1582
|
-
|
|
1586
|
+
catch (error) {
|
|
1587
|
+
const code = filesystemErrorCode(error);
|
|
1588
|
+
if (code !== 'ENOENT' && code !== 'ENOTDIR') {
|
|
1589
|
+
// EACCES/EPERM/... means the link target may still be a live install
|
|
1590
|
+
// this process cannot read. Removing the link would destroy it, so
|
|
1591
|
+
// fail closed and let the caller report the refusal.
|
|
1592
|
+
throw new Error(`Cannot resolve plugin install target ${targetDir}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
1593
|
+
}
|
|
1594
|
+
// Confirmed absent target (ENOENT/ENOTDIR) — the link itself is the
|
|
1595
|
+
// residue of an interrupted install.
|
|
1596
|
+
targetAbsent = true;
|
|
1583
1597
|
}
|
|
1584
|
-
if (
|
|
1598
|
+
if (targetAbsent) {
|
|
1585
1599
|
// fs-extra's remove unlinks the reparse point instead of traversing it.
|
|
1586
1600
|
await fse.remove(targetDir);
|
|
1587
1601
|
logger.warn(`Removed dangling link at ${targetDir} (target missing) — rebuilding the plugin install directory.`);
|
|
@@ -1589,35 +1603,105 @@ export async function preparePluginInstallTarget(targetDir) {
|
|
|
1589
1603
|
}
|
|
1590
1604
|
await fse.ensureDir(targetDir);
|
|
1591
1605
|
}
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1606
|
+
function restoredTreeRequirements() {
|
|
1607
|
+
return [
|
|
1608
|
+
// The runtime root itself (type + link resolution only).
|
|
1609
|
+
{ dir: getPdRuntimeDir(), entries: [], openClawOnly: false },
|
|
1610
|
+
{
|
|
1611
|
+
dir: getInstalledConsoleDir(),
|
|
1612
|
+
entries: [path.join('dist', 'server.js'), path.join('dist', 'web', 'index.html')],
|
|
1613
|
+
openClawOnly: false,
|
|
1614
|
+
},
|
|
1615
|
+
{ dir: getInstalledPdCliDir(), entries: [path.join('dist', 'index.js')], openClawOnly: false },
|
|
1616
|
+
{ dir: getInstalledPluginDir(), entries: [path.join('dist', 'bundle.js'), 'openclaw.plugin.json'], openClawOnly: false },
|
|
1617
|
+
{
|
|
1618
|
+
dir: getPluginExtDir(),
|
|
1619
|
+
entries: [path.join('dist', 'bundle.js'), 'openclaw.plugin.json', 'package.json'],
|
|
1620
|
+
openClawOnly: true,
|
|
1621
|
+
},
|
|
1622
|
+
];
|
|
1623
|
+
}
|
|
1624
|
+
function describeRestoredDirGap(dir, gaps) {
|
|
1625
|
+
let stats;
|
|
1626
|
+
try {
|
|
1627
|
+
stats = lstatSync(dir, { throwIfNoEntry: false });
|
|
1628
|
+
}
|
|
1629
|
+
catch (error) {
|
|
1630
|
+
gaps.push(`${dir} (unreadable: ${error instanceof Error ? error.message : String(error)})`);
|
|
1631
|
+
return false;
|
|
1632
|
+
}
|
|
1633
|
+
if (stats === undefined) {
|
|
1634
|
+
gaps.push(`${dir} (missing)`);
|
|
1635
|
+
return false;
|
|
1636
|
+
}
|
|
1637
|
+
if (stats.isSymbolicLink()) {
|
|
1603
1638
|
try {
|
|
1604
|
-
|
|
1639
|
+
realpathSync(dir);
|
|
1605
1640
|
}
|
|
1606
1641
|
catch (error) {
|
|
1607
|
-
|
|
1608
|
-
|
|
1642
|
+
const code = filesystemErrorCode(error);
|
|
1643
|
+
gaps.push(`${dir} (${code === 'ENOENT' || code === 'ENOTDIR' ? 'dangling link' : 'unresolvable link'})`);
|
|
1644
|
+
return false;
|
|
1609
1645
|
}
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1646
|
+
}
|
|
1647
|
+
else if (!stats.isDirectory()) {
|
|
1648
|
+
gaps.push(`${dir} (not a directory)`);
|
|
1649
|
+
return false;
|
|
1650
|
+
}
|
|
1651
|
+
return true;
|
|
1652
|
+
}
|
|
1653
|
+
function describeRestoredEntryGap(entry, gaps) {
|
|
1654
|
+
let stats;
|
|
1655
|
+
try {
|
|
1656
|
+
stats = lstatSync(entry, { throwIfNoEntry: false });
|
|
1657
|
+
}
|
|
1658
|
+
catch (error) {
|
|
1659
|
+
gaps.push(`${entry} (unreadable: ${error instanceof Error ? error.message : String(error)})`);
|
|
1660
|
+
return;
|
|
1661
|
+
}
|
|
1662
|
+
if (stats === undefined) {
|
|
1663
|
+
gaps.push(`${entry} (missing)`);
|
|
1664
|
+
return;
|
|
1665
|
+
}
|
|
1666
|
+
if (stats.isSymbolicLink()) {
|
|
1667
|
+
try {
|
|
1668
|
+
realpathSync(entry);
|
|
1613
1669
|
}
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1670
|
+
catch (error) {
|
|
1671
|
+
const code = filesystemErrorCode(error);
|
|
1672
|
+
gaps.push(`${entry} (${code === 'ENOENT' || code === 'ENOTDIR' ? 'dangling link' : 'unresolvable link'})`);
|
|
1673
|
+
return;
|
|
1674
|
+
}
|
|
1675
|
+
// realpath only proves the target EXISTS. The entry is consumed as a file
|
|
1676
|
+
// at runtime, so a link to a directory is just as unusable as a missing
|
|
1677
|
+
// file path. stat follows the link and reports the target type.
|
|
1678
|
+
let targetStats;
|
|
1679
|
+
try {
|
|
1680
|
+
targetStats = statSync(entry);
|
|
1681
|
+
}
|
|
1682
|
+
catch (error) {
|
|
1683
|
+
const code = filesystemErrorCode(error);
|
|
1684
|
+
gaps.push(`${entry} (${code === 'ENOENT' || code === 'ENOTDIR' ? 'dangling link' : 'unresolvable link'})`);
|
|
1685
|
+
return;
|
|
1686
|
+
}
|
|
1687
|
+
if (!targetStats.isFile()) {
|
|
1688
|
+
gaps.push(`${entry} (not a file)`);
|
|
1689
|
+
}
|
|
1690
|
+
return;
|
|
1691
|
+
}
|
|
1692
|
+
if (!stats.isFile()) {
|
|
1693
|
+
gaps.push(`${entry} (not a file)`);
|
|
1694
|
+
}
|
|
1695
|
+
}
|
|
1696
|
+
export function describeRestoredStateGaps() {
|
|
1697
|
+
const gaps = [];
|
|
1698
|
+
for (const requirement of restoredTreeRequirements()) {
|
|
1699
|
+
if (requirement.openClawOnly && !installsOpenClaw(activeHostTarget))
|
|
1700
|
+
continue;
|
|
1701
|
+
if (!describeRestoredDirGap(requirement.dir, gaps))
|
|
1702
|
+
continue;
|
|
1703
|
+
for (const entry of requirement.entries) {
|
|
1704
|
+
describeRestoredEntryGap(path.join(requirement.dir, entry), gaps);
|
|
1621
1705
|
}
|
|
1622
1706
|
}
|
|
1623
1707
|
return gaps;
|