create-principles-disciple 1.143.0 → 1.143.1
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/console/dist/server/index.js +19 -0
- package/console/dist/server/models/OwnerDecisionViewModel.d.ts +65 -0
- package/console/dist/server/models/OwnerDecisionViewModel.js +686 -0
- package/console/dist/server/routes/owner-decision.d.ts +40 -0
- package/console/dist/server/routes/owner-decision.js +88 -0
- package/console/dist/server/routes/principles.d.ts +3 -0
- package/console/dist/server/routes/principles.js +3 -0
- package/console/dist/ui/api.d.ts +7 -3
- package/console/dist/ui/api.js +13 -2
- package/console/dist/ui/i18n/en.json +70 -4
- package/console/dist/ui/i18n/zh-CN.json +70 -4
- package/console/dist/ui/pages/focus/FocusPage.js +25 -2
- package/console/dist/ui/pages/principles/PrincipleDetailPage.d.ts +24 -0
- package/console/dist/ui/pages/principles/PrincipleDetailPage.js +168 -210
- package/console/dist/ui/pages/principles/PrinciplesPage.js +25 -10
- package/console/dist/ui/utils/enum-labels.d.ts +1 -1
- package/console/dist/ui/utils/enum-labels.js +8 -0
- package/console/dist/ui/utils/validators.d.ts +99 -1
- package/console/dist/ui/utils/validators.js +115 -0
- package/console/dist/web/assets/app.css +3 -0
- package/console/dist/web/assets/app.js +590 -349
- package/core/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js +25 -0
- package/core/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts +16 -0
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js +22 -0
- package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +7 -0
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +4 -0
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts +2 -0
- package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js +559 -0
- package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js.map +1 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts +7868 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts.map +1 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.js +367 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.js.map +1 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view.d.ts +415 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view.d.ts.map +1 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view.js +856 -0
- package/core/dist/runtime-v2/owner-decision/owner-decision-view.js.map +1 -0
- package/core/dist/runtime-v2/owner-decision/semantic-selector.d.ts +72 -0
- package/core/dist/runtime-v2/owner-decision/semantic-selector.d.ts.map +1 -0
- package/core/dist/runtime-v2/owner-decision/semantic-selector.js +176 -0
- package/core/dist/runtime-v2/owner-decision/semantic-selector.js.map +1 -0
- package/package.json +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts +14 -0
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js +47 -7
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts +84 -0
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +215 -38
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
- package/plugin/dist/bundle.js +526 -526
- package/plugin/dist/governance-audit.js +205 -205
- package/plugin/dist/rulehost-evidence.js +246 -246
- package/release-manager/package.json +1 -1
|
@@ -20,6 +20,7 @@ import { handleReceiptsRoute, disposeReceiptsModels } from './routes/receipts.js
|
|
|
20
20
|
import { handleApprovalsGroupedRoute, disposeApprovalsGroupedModels } from './routes/approvals-grouped.js';
|
|
21
21
|
import { handleGovernanceRoute, handleGovernanceExperienceRoute, resolveOwnerConfigSnapshot, disposeGovernanceModels } from './routes/governance.js';
|
|
22
22
|
import { handleOwnerDecisionsRoute } from './routes/owner-decisions.js';
|
|
23
|
+
import { handleOwnerDecisionInboxRoute, handleOwnerDecisionViewRoute, handleOwnerDecisionLibraryRoute, parseOwnerDecisionViewSubPath } from './routes/owner-decision.js';
|
|
23
24
|
import { handleOwnerIdentityRoute } from './routes/owner-identity.js';
|
|
24
25
|
import { handleEvidenceChainRoute, disposeEvidenceChainModels } from './routes/evidence-chain.js';
|
|
25
26
|
import { handleIntentRoute, disposeIntentModels } from './routes/intent.js';
|
|
@@ -358,8 +359,26 @@ function handleRequest(services) {
|
|
|
358
359
|
return;
|
|
359
360
|
}
|
|
360
361
|
// GET /api/v1/principles/:id/governance
|
|
362
|
+
// Owner Decision Experience v1: canonical Owner decision projection —
|
|
363
|
+
// dispatched BEFORE the principles catch-all so the static inbox path is
|
|
364
|
+
// never parsed as `/:id` (SPEC §15). Read-only; flag-gated inside.
|
|
361
365
|
if (urlPath.startsWith('/api/v1/principles/')) {
|
|
362
366
|
const subPath = urlPath.slice('/api/v1/principles'.length);
|
|
367
|
+
if (subPath === '/owner-decision-inbox') {
|
|
368
|
+
asyncHandler(() => handleOwnerDecisionInboxRoute({ req, res, workspaceDir: services.workspaceDir, featureFlags: services.feedbackFlags, now: () => new Date().toISOString() }))(req, res);
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
if (subPath === '/owner-decision-library') {
|
|
372
|
+
asyncHandler(() => handleOwnerDecisionLibraryRoute({ req, res, workspaceDir: services.workspaceDir, featureFlags: services.feedbackFlags, now: () => new Date().toISOString() }))(req, res);
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
const ownerDecisionHandled = parseOwnerDecisionViewSubPath(subPath) !== null;
|
|
376
|
+
if (ownerDecisionHandled) {
|
|
377
|
+
asyncHandler(async () => {
|
|
378
|
+
await handleOwnerDecisionViewRoute({ req, res, workspaceDir: services.workspaceDir, featureFlags: services.feedbackFlags, now: () => new Date().toISOString(), subPath });
|
|
379
|
+
})(req, res);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
363
382
|
asyncHandler(() => handlePrinciplesRoute({ req, res, workspaceDir: services.workspaceDir, subPath, featureFlags: services.feedbackFlags }))(req, res);
|
|
364
383
|
return;
|
|
365
384
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { OwnerDecisionViewCore } from '@principles/core/runtime-v2';
|
|
2
|
+
export interface OwnerDecisionInboxItem {
|
|
3
|
+
principleId: string;
|
|
4
|
+
decisionState: OwnerDecisionViewCore['decisionState'];
|
|
5
|
+
learnedPrinciple: {
|
|
6
|
+
status: 'known';
|
|
7
|
+
text: string;
|
|
8
|
+
sourceTier: 'scribe' | 'distiller' | 'philosopher' | 'candidate_principle';
|
|
9
|
+
} | {
|
|
10
|
+
status: 'unknown';
|
|
11
|
+
reasonText: string;
|
|
12
|
+
};
|
|
13
|
+
inbox: OwnerDecisionViewCore['inbox'];
|
|
14
|
+
blockerCodes: string[];
|
|
15
|
+
nextAction: OwnerDecisionViewCore['nextAction'];
|
|
16
|
+
}
|
|
17
|
+
export interface OwnerDecisionInboxResponse {
|
|
18
|
+
schemaVersion: '1';
|
|
19
|
+
generatedAt: string;
|
|
20
|
+
totalPrinciples: number;
|
|
21
|
+
groups: {
|
|
22
|
+
decision: OwnerDecisionInboxItem[];
|
|
23
|
+
blocked: OwnerDecisionInboxItem[];
|
|
24
|
+
recovery: OwnerDecisionInboxItem[];
|
|
25
|
+
};
|
|
26
|
+
/** §11.1 aggregate notice for historical unbound entries with no current subject. */
|
|
27
|
+
historicalUnknown: {
|
|
28
|
+
count: number;
|
|
29
|
+
reasonText: string;
|
|
30
|
+
};
|
|
31
|
+
degraded?: {
|
|
32
|
+
reason: string;
|
|
33
|
+
nextAction: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export declare class OwnerDecisionViewModel {
|
|
37
|
+
private readonly workspaceDir;
|
|
38
|
+
constructor(workspaceDir: string);
|
|
39
|
+
/** Full OwnerDecisionViewCore for one principle (Detail first layer). */
|
|
40
|
+
getView(principleId: string, now?: string): Promise<OwnerDecisionViewCore>;
|
|
41
|
+
/** Compact inbox projection over every ledger principle (§11.1). */
|
|
42
|
+
getInbox(now?: string): Promise<OwnerDecisionInboxResponse>;
|
|
43
|
+
/** Compact per-principle projection for the Library list (§11.2). */
|
|
44
|
+
getLibraryCompact(now?: string): Promise<{
|
|
45
|
+
schemaVersion: '1';
|
|
46
|
+
generatedAt: string;
|
|
47
|
+
entries: Record<string, {
|
|
48
|
+
decisionState: OwnerDecisionViewCore['decisionState'];
|
|
49
|
+
learnedPrinciple: OwnerDecisionInboxItem['learnedPrinciple'];
|
|
50
|
+
}>;
|
|
51
|
+
degraded?: {
|
|
52
|
+
reason: string;
|
|
53
|
+
};
|
|
54
|
+
}>;
|
|
55
|
+
private collectInputs;
|
|
56
|
+
private parseLedger;
|
|
57
|
+
private buildInputsFor;
|
|
58
|
+
private ledgerEntryFor;
|
|
59
|
+
private parseDiagnosis;
|
|
60
|
+
private readSemanticArtifacts;
|
|
61
|
+
private piContentRowsById;
|
|
62
|
+
private philosopherRowsInBoundClosure;
|
|
63
|
+
private readBatchSnapshot;
|
|
64
|
+
}
|
|
65
|
+
export declare function compactSemanticTitle(view: OwnerDecisionViewCore): OwnerDecisionInboxItem['learnedPrinciple'];
|