@principles/core 1.273.0 → 1.274.0

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 (93) hide show
  1. package/dist/index.d.ts +7 -12
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +7 -12
  4. package/dist/index.js.map +1 -1
  5. package/dist/runtime-v2/__tests__/architecture-regression.test.js +1 -1
  6. package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  7. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js +93 -0
  8. package/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/status-contract.test.js +0 -29
  10. package/dist/runtime-v2/__tests__/status-contract.test.js.map +1 -1
  11. package/dist/runtime-v2/index.d.ts +2 -1
  12. package/dist/runtime-v2/index.d.ts.map +1 -1
  13. package/dist/runtime-v2/index.js +0 -2
  14. package/dist/runtime-v2/index.js.map +1 -1
  15. package/dist/runtime-v2/pain-signal-bridge.d.ts +8 -1
  16. package/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
  17. package/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
  18. package/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
  19. package/dist/runtime-v2/pain-signal-observability.js +25 -10
  20. package/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  21. package/package.json +1 -38
  22. package/dist/adapters/__tests__/code-review-pain-adapter.test.d.ts +0 -2
  23. package/dist/adapters/__tests__/code-review-pain-adapter.test.d.ts.map +0 -1
  24. package/dist/adapters/__tests__/code-review-pain-adapter.test.js +0 -346
  25. package/dist/adapters/__tests__/code-review-pain-adapter.test.js.map +0 -1
  26. package/dist/adapters/__tests__/openclaw-pain-adapter.test.d.ts +0 -2
  27. package/dist/adapters/__tests__/openclaw-pain-adapter.test.d.ts.map +0 -1
  28. package/dist/adapters/__tests__/openclaw-pain-adapter.test.js +0 -290
  29. package/dist/adapters/__tests__/openclaw-pain-adapter.test.js.map +0 -1
  30. package/dist/adapters/__tests__/writing-pain-adapter.test.d.ts +0 -2
  31. package/dist/adapters/__tests__/writing-pain-adapter.test.d.ts.map +0 -1
  32. package/dist/adapters/__tests__/writing-pain-adapter.test.js +0 -239
  33. package/dist/adapters/__tests__/writing-pain-adapter.test.js.map +0 -1
  34. package/dist/adapters/code-review/code-review-pain-adapter.d.ts +0 -13
  35. package/dist/adapters/code-review/code-review-pain-adapter.d.ts.map +0 -1
  36. package/dist/adapters/code-review/code-review-pain-adapter.js +0 -139
  37. package/dist/adapters/code-review/code-review-pain-adapter.js.map +0 -1
  38. package/dist/adapters/code-review/index.d.ts +0 -6
  39. package/dist/adapters/code-review/index.d.ts.map +0 -1
  40. package/dist/adapters/code-review/index.js +0 -2
  41. package/dist/adapters/code-review/index.js.map +0 -1
  42. package/dist/adapters/code-review/review-event-types.d.ts +0 -54
  43. package/dist/adapters/code-review/review-event-types.d.ts.map +0 -1
  44. package/dist/adapters/code-review/review-event-types.js +0 -8
  45. package/dist/adapters/code-review/review-event-types.js.map +0 -1
  46. package/dist/adapters/coding/index.d.ts +0 -6
  47. package/dist/adapters/coding/index.d.ts.map +0 -1
  48. package/dist/adapters/coding/index.js +0 -5
  49. package/dist/adapters/coding/index.js.map +0 -1
  50. package/dist/adapters/coding/openclaw-event-types.d.ts +0 -26
  51. package/dist/adapters/coding/openclaw-event-types.d.ts.map +0 -1
  52. package/dist/adapters/coding/openclaw-event-types.js +0 -9
  53. package/dist/adapters/coding/openclaw-event-types.js.map +0 -1
  54. package/dist/adapters/coding/openclaw-pain-adapter.d.ts +0 -27
  55. package/dist/adapters/coding/openclaw-pain-adapter.d.ts.map +0 -1
  56. package/dist/adapters/coding/openclaw-pain-adapter.js +0 -102
  57. package/dist/adapters/coding/openclaw-pain-adapter.js.map +0 -1
  58. package/dist/adapters/writing/index.d.ts +0 -6
  59. package/dist/adapters/writing/index.d.ts.map +0 -1
  60. package/dist/adapters/writing/index.js +0 -5
  61. package/dist/adapters/writing/index.js.map +0 -1
  62. package/dist/adapters/writing/writing-pain-adapter.d.ts +0 -22
  63. package/dist/adapters/writing/writing-pain-adapter.d.ts.map +0 -1
  64. package/dist/adapters/writing/writing-pain-adapter.js +0 -62
  65. package/dist/adapters/writing/writing-pain-adapter.js.map +0 -1
  66. package/dist/adapters/writing/writing-types.d.ts +0 -34
  67. package/dist/adapters/writing/writing-types.d.ts.map +0 -1
  68. package/dist/adapters/writing/writing-types.js +0 -9
  69. package/dist/adapters/writing/writing-types.js.map +0 -1
  70. package/dist/pain-signal-adapter.d.ts +0 -37
  71. package/dist/pain-signal-adapter.d.ts.map +0 -1
  72. package/dist/pain-signal-adapter.js +0 -2
  73. package/dist/pain-signal-adapter.js.map +0 -1
  74. package/dist/pain-signal.d.ts +0 -16
  75. package/dist/pain-signal.d.ts.map +0 -1
  76. package/dist/pain-signal.js +0 -15
  77. package/dist/pain-signal.js.map +0 -1
  78. package/dist/principle-injector.d.ts +0 -67
  79. package/dist/principle-injector.d.ts.map +0 -1
  80. package/dist/principle-injector.js +0 -89
  81. package/dist/principle-injector.js.map +0 -1
  82. package/dist/principle-injector.test.d.ts +0 -2
  83. package/dist/principle-injector.test.d.ts.map +0 -1
  84. package/dist/principle-injector.test.js +0 -158
  85. package/dist/principle-injector.test.js.map +0 -1
  86. package/dist/runtime-v2/__tests__/pain-signal-unification.test.d.ts +0 -2
  87. package/dist/runtime-v2/__tests__/pain-signal-unification.test.d.ts.map +0 -1
  88. package/dist/runtime-v2/__tests__/pain-signal-unification.test.js +0 -150
  89. package/dist/runtime-v2/__tests__/pain-signal-unification.test.js.map +0 -1
  90. package/dist/runtime-v2/store/task-migration.d.ts +0 -89
  91. package/dist/runtime-v2/store/task-migration.d.ts.map +0 -1
  92. package/dist/runtime-v2/store/task-migration.js +0 -79
  93. package/dist/runtime-v2/store/task-migration.js.map +0 -1
@@ -1,89 +0,0 @@
1
- /**
2
- * Migration bridge from legacy EvolutionQueueItem to TaskRecord.
3
- *
4
- * Legacy shape (from .state/evolution-queue.json):
5
- * {
6
- * taskId: string,
7
- * status: 'pending' | 'in_progress' | 'completed' | 'failed' | 'canceled',
8
- * taskKind: string,
9
- * attemptCount: number,
10
- * maxAttempts: number,
11
- * inputRef?: string,
12
- * resultRef?: string,
13
- * lastError?: string,
14
- * createdAt: string,
15
- * updatedAt: string
16
- * }
17
- *
18
- * Target shape: TaskRecord (see task-status.ts)
19
- *
20
- * Status mapping:
21
- * 'pending' → 'pending'
22
- * 'in_progress' → 'leased' (old runtime had no lease concept, so in_progress = leased)
23
- * 'completed' → 'succeeded'
24
- * 'failed' → 'failed'
25
- * 'canceled' → 'failed' (canceled maps to failed, not a separate status)
26
- *
27
- * NOT migrated (D-05: new store starts blank — no migration of existing queue data):
28
- * This is a BRIDGE for dual-write compatibility, NOT actual data migration.
29
- * It provides the transformation logic that adapters can use if needed.
30
- */
31
- import type { TaskRecord, PDTaskStatus } from '../task-status.js';
32
- import type { TaskStore } from './task/task-store.js';
33
- export interface MigrationResult {
34
- migrated: number;
35
- skipped: number;
36
- errors: string[];
37
- }
38
- /**
39
- * Migration bridge from legacy EvolutionQueueItem to TaskRecord.
40
- *
41
- * Provides the transformation logic that adapters can use to translate
42
- * between the legacy queue format and the new TaskRecord format.
43
- */
44
- export declare class EvolutionQueueItemMigrator {
45
- private readonly taskStore;
46
- constructor(taskStore: TaskStore);
47
- /**
48
- * Map legacy EvolutionQueueItem status to PDTaskStatus.
49
- * Returns null if the status is unrecognized (skip migration).
50
- */
51
- static mapLegacyStatus(legacyStatus: string): PDTaskStatus | null;
52
- /**
53
- * Transform a legacy EvolutionQueueItem to TaskRecord fields.
54
- * Only includes fields that are safe to migrate — lease fields are NOT migrated
55
- * since the legacy queue had no lease concept.
56
- */
57
- static toTaskRecord(legacyItem: {
58
- taskId: string;
59
- taskKind: string;
60
- status: string;
61
- attemptCount?: number;
62
- maxAttempts?: number;
63
- inputRef?: string;
64
- resultRef?: string;
65
- lastError?: string;
66
- createdAt?: string;
67
- updatedAt?: string;
68
- }): Omit<TaskRecord, 'createdAt' | 'updatedAt'> | null;
69
- /**
70
- * Migrate a single legacy item (idempotent).
71
- * If task already exists in store, compares updatedAt and only overwrites if legacy is newer.
72
- */
73
- migrateOne(legacyItem: {
74
- taskId: string;
75
- taskKind: string;
76
- status: string;
77
- attemptCount?: number;
78
- maxAttempts?: number;
79
- inputRef?: string;
80
- resultRef?: string;
81
- lastError?: string;
82
- createdAt?: string;
83
- updatedAt?: string;
84
- }): Promise<{
85
- migrated: boolean;
86
- reason?: string;
87
- }>;
88
- }
89
- //# sourceMappingURL=task-migration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-migration.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/store/task-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,SAAS,EAAI;IAErD;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAShE;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,IAAI,CAcpD;IAED;;;OAGG;IACG,UAAU,CACd,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CA6BjD;CACF"}
@@ -1,79 +0,0 @@
1
- /**
2
- * Migration bridge from legacy EvolutionQueueItem to TaskRecord.
3
- *
4
- * Provides the transformation logic that adapters can use to translate
5
- * between the legacy queue format and the new TaskRecord format.
6
- */
7
- export class EvolutionQueueItemMigrator {
8
- taskStore;
9
- constructor(taskStore) {
10
- this.taskStore = taskStore;
11
- }
12
- /**
13
- * Map legacy EvolutionQueueItem status to PDTaskStatus.
14
- * Returns null if the status is unrecognized (skip migration).
15
- */
16
- static mapLegacyStatus(legacyStatus) {
17
- const mapping = {
18
- pending: 'pending',
19
- in_progress: 'leased',
20
- completed: 'succeeded',
21
- failed: 'failed',
22
- canceled: 'failed',
23
- };
24
- return mapping[legacyStatus] ?? null;
25
- }
26
- /**
27
- * Transform a legacy EvolutionQueueItem to TaskRecord fields.
28
- * Only includes fields that are safe to migrate — lease fields are NOT migrated
29
- * since the legacy queue had no lease concept.
30
- */
31
- static toTaskRecord(legacyItem) {
32
- const newStatus = EvolutionQueueItemMigrator.mapLegacyStatus(legacyItem.status);
33
- if (!newStatus)
34
- return null;
35
- return {
36
- taskId: legacyItem.taskId,
37
- taskKind: legacyItem.taskKind,
38
- status: newStatus,
39
- attemptCount: legacyItem.attemptCount ?? 0,
40
- maxAttempts: legacyItem.maxAttempts ?? 3,
41
- inputRef: legacyItem.inputRef,
42
- resultRef: legacyItem.resultRef,
43
- lastError: legacyItem.lastError,
44
- };
45
- }
46
- /**
47
- * Migrate a single legacy item (idempotent).
48
- * If task already exists in store, compares updatedAt and only overwrites if legacy is newer.
49
- */
50
- async migrateOne(legacyItem) {
51
- const record = EvolutionQueueItemMigrator.toTaskRecord(legacyItem);
52
- if (!record) {
53
- return { migrated: false, reason: 'unknown_status' };
54
- }
55
- const existing = await this.taskStore.getTask(record.taskId);
56
- if (existing) {
57
- // Idempotent: only overwrite if legacy is newer
58
- const legacyUpdated = legacyItem.updatedAt ? new Date(legacyItem.updatedAt) : null;
59
- const existingUpdated = new Date(existing.updatedAt);
60
- if (legacyUpdated && legacyUpdated <= existingUpdated) {
61
- return { migrated: false, reason: 'existing_newer' };
62
- }
63
- // Update existing record
64
- await this.taskStore.updateTask(record.taskId, {
65
- status: record.status,
66
- attemptCount: record.attemptCount,
67
- maxAttempts: record.maxAttempts,
68
- lastError: record.lastError,
69
- inputRef: record.inputRef,
70
- resultRef: record.resultRef,
71
- });
72
- return { migrated: true, reason: 'updated_existing' };
73
- }
74
- // Create new record
75
- await this.taskStore.createTask(record);
76
- return { migrated: true, reason: 'created_new' };
77
- }
78
- }
79
- //# sourceMappingURL=task-migration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-migration.js","sourceRoot":"","sources":["../../../src/runtime-v2/store/task-migration.ts"],"names":[],"mappings":"AAuCA;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IACR,SAAS;IAAtC,YAA6B,SAAoB;yBAApB,SAAS;IAAc,CAAC;IAErD;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,YAAoB;QACzC,MAAM,OAAO,GAAiC;YAC5C,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,QAAQ;YACrB,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,UAWC;QAED,MAAM,SAAS,GAAG,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,CAAC;YAC1C,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,CAAC;YACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,UAAU,CAAC,SAAoC;SAC3D,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CACd,UAWC;QAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE,CAAC;YACb,gDAAgD;YAChD,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,aAAa,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;gBACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACvD,CAAC;YACD,yBAAyB;YACzB,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACxD,CAAC;QAED,oBAAoB;QACpB,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnD,CAAC;CACF"}