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.
Files changed (60) hide show
  1. package/console/dist/server/index.js +19 -0
  2. package/console/dist/server/models/OwnerDecisionViewModel.d.ts +65 -0
  3. package/console/dist/server/models/OwnerDecisionViewModel.js +686 -0
  4. package/console/dist/server/routes/owner-decision.d.ts +40 -0
  5. package/console/dist/server/routes/owner-decision.js +88 -0
  6. package/console/dist/server/routes/principles.d.ts +3 -0
  7. package/console/dist/server/routes/principles.js +3 -0
  8. package/console/dist/ui/api.d.ts +7 -3
  9. package/console/dist/ui/api.js +13 -2
  10. package/console/dist/ui/i18n/en.json +70 -4
  11. package/console/dist/ui/i18n/zh-CN.json +70 -4
  12. package/console/dist/ui/pages/focus/FocusPage.js +25 -2
  13. package/console/dist/ui/pages/principles/PrincipleDetailPage.d.ts +24 -0
  14. package/console/dist/ui/pages/principles/PrincipleDetailPage.js +168 -210
  15. package/console/dist/ui/pages/principles/PrinciplesPage.js +25 -10
  16. package/console/dist/ui/utils/enum-labels.d.ts +1 -1
  17. package/console/dist/ui/utils/enum-labels.js +8 -0
  18. package/console/dist/ui/utils/validators.d.ts +99 -1
  19. package/console/dist/ui/utils/validators.js +115 -0
  20. package/console/dist/web/assets/app.css +3 -0
  21. package/console/dist/web/assets/app.js +590 -349
  22. package/core/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js +25 -0
  23. package/core/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js.map +1 -1
  24. package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts +16 -0
  25. package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts.map +1 -1
  26. package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js +22 -0
  27. package/core/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js.map +1 -1
  28. package/core/dist/runtime-v2/index.d.ts +7 -0
  29. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  30. package/core/dist/runtime-v2/index.js +4 -0
  31. package/core/dist/runtime-v2/index.js.map +1 -1
  32. package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts +2 -0
  33. package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts.map +1 -0
  34. package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js +559 -0
  35. package/core/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js.map +1 -0
  36. package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts +7868 -0
  37. package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts.map +1 -0
  38. package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.js +367 -0
  39. package/core/dist/runtime-v2/owner-decision/owner-decision-view-contract.js.map +1 -0
  40. package/core/dist/runtime-v2/owner-decision/owner-decision-view.d.ts +415 -0
  41. package/core/dist/runtime-v2/owner-decision/owner-decision-view.d.ts.map +1 -0
  42. package/core/dist/runtime-v2/owner-decision/owner-decision-view.js +856 -0
  43. package/core/dist/runtime-v2/owner-decision/owner-decision-view.js.map +1 -0
  44. package/core/dist/runtime-v2/owner-decision/semantic-selector.d.ts +72 -0
  45. package/core/dist/runtime-v2/owner-decision/semantic-selector.d.ts.map +1 -0
  46. package/core/dist/runtime-v2/owner-decision/semantic-selector.js +176 -0
  47. package/core/dist/runtime-v2/owner-decision/semantic-selector.js.map +1 -0
  48. package/package.json +1 -1
  49. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts +14 -0
  50. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -1
  51. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js +47 -7
  52. package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js.map +1 -1
  53. package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts +84 -0
  54. package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
  55. package/pd-cli/dist/services/rulehost-pipeline-runner.js +215 -38
  56. package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
  57. package/plugin/dist/bundle.js +526 -526
  58. package/plugin/dist/governance-audit.js +205 -205
  59. package/plugin/dist/rulehost-evidence.js +246 -246
  60. 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'];