pumuki 6.3.351 → 6.3.353
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/package.json +1 -1
- package/scripts/framework-menu-consumer-runtime-audit.ts +13 -1
- package/scripts/framework-menu-system-notifications-event-types.ts +2 -0
- package/scripts/framework-menu-system-notifications-macos-dialog-payload.ts +11 -0
- package/scripts/framework-menu-system-notifications-payloads-blocked.ts +11 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pumuki",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.353",
|
|
4
4
|
"description": "Enterprise-grade AST Intelligence System with multi-platform support (iOS, Android, Backend, Frontend) and Feature-First + DDD + Clean Architecture enforcement. Includes dynamic violations API for intelligent querying.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -98,6 +98,18 @@ const formatSummaryFinding = (
|
|
|
98
98
|
return `[${finding.severity}] ${finding.ruleId} -> ${finding.file}:${finding.line}`;
|
|
99
99
|
};
|
|
100
100
|
|
|
101
|
+
const normalizeBlockedCauseLine = (cause: { line?: number; lines?: ReadonlyArray<number> }): number => {
|
|
102
|
+
if (typeof cause.line === 'number' && Number.isFinite(cause.line) && cause.line > 0) {
|
|
103
|
+
return Math.floor(cause.line);
|
|
104
|
+
}
|
|
105
|
+
const lines = Array.isArray(cause.lines)
|
|
106
|
+
? cause.lines
|
|
107
|
+
.filter((line) => Number.isFinite(line) && line > 0)
|
|
108
|
+
.map((line) => Math.floor(line))
|
|
109
|
+
: [];
|
|
110
|
+
return lines.length > 0 ? Math.min(...lines) : 1;
|
|
111
|
+
};
|
|
112
|
+
|
|
101
113
|
export const buildConsumerRuntimeEvidenceDriftLines = (
|
|
102
114
|
gateSummary: FrameworkMenuEvidenceSummary,
|
|
103
115
|
canonicalSummary: FrameworkMenuEvidenceSummary
|
|
@@ -194,7 +206,7 @@ export const buildConsumerRuntimeBlockedSummary = (
|
|
|
194
206
|
severity: 'HIGH' as const,
|
|
195
207
|
ruleId: cause.ruleId ?? cause.code,
|
|
196
208
|
file: cause.file ?? 'PROJECT_ROOT',
|
|
197
|
-
line:
|
|
209
|
+
line: normalizeBlockedCauseLine(cause),
|
|
198
210
|
}))
|
|
199
211
|
: [
|
|
200
212
|
{
|
|
@@ -137,6 +137,17 @@ const formatLocation = (cause: NonNullable<Extract<PumukiCriticalNotificationEve
|
|
|
137
137
|
if (!cause.file) {
|
|
138
138
|
return 'sin fichero';
|
|
139
139
|
}
|
|
140
|
+
if (typeof cause.line === 'number' && Number.isFinite(cause.line) && cause.line > 0) {
|
|
141
|
+
return `${cause.file}:${Math.floor(cause.line)}`;
|
|
142
|
+
}
|
|
143
|
+
if (Array.isArray(cause.lines)) {
|
|
144
|
+
const lines = cause.lines
|
|
145
|
+
.filter((line) => Number.isFinite(line) && line > 0)
|
|
146
|
+
.map((line) => Math.floor(line));
|
|
147
|
+
if (lines.length > 0) {
|
|
148
|
+
return `${cause.file}:${lines.join(',')}`;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
140
151
|
const line = extractLineFromCauseMessage(cause.message);
|
|
141
152
|
return line ? `${cause.file}:${line}` : cause.file;
|
|
142
153
|
};
|
|
@@ -118,6 +118,17 @@ const formatCauseLocation = (cause: BlockedCause): string => {
|
|
|
118
118
|
return 'sin fichero';
|
|
119
119
|
}
|
|
120
120
|
const baseFile = cause.file.split('/').filter(Boolean).pop() ?? cause.file;
|
|
121
|
+
if (typeof cause.line === 'number' && Number.isFinite(cause.line) && cause.line > 0) {
|
|
122
|
+
return `${baseFile}:${Math.floor(cause.line)}`;
|
|
123
|
+
}
|
|
124
|
+
if (Array.isArray(cause.lines)) {
|
|
125
|
+
const lines = cause.lines
|
|
126
|
+
.filter((line) => Number.isFinite(line) && line > 0)
|
|
127
|
+
.map((line) => Math.floor(line));
|
|
128
|
+
if (lines.length > 0) {
|
|
129
|
+
return `${baseFile}:${lines.join(',')}`;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
121
132
|
const lineMatch = cause.message.match(/\blines?=([0-9][0-9,\-\s]*)\b/i);
|
|
122
133
|
if (!lineMatch?.[1]) {
|
|
123
134
|
return baseFile;
|