@zaip-ai/cli 5.2.0 → 5.4.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.
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.js +1 -1
- package/dist/services/codex-literal-read-sequence-template.d.ts +2 -0
- package/dist/services/codex-literal-read-sequence-template.d.ts.map +1 -0
- package/dist/services/codex-literal-read-sequence-template.js +91 -0
- package/dist/services/codex-literal-read-sequence-template.js.map +1 -0
- package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.js +49 -10
- package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
- package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-host-context-template.js +2 -0
- package/dist/services/codex-pre-tool-host-context-template.js.map +1 -1
- package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-support-template.js +2 -65
- package/dist/services/codex-pre-tool-support-template.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +19 -0
- package/templates/.agents/README.md +19 -0
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +29 -29
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-CDUKVlrH.js → DashboardHelpDialog-Bw42VT15.js} +20 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Czs55K79.js → PricingSettingsDialog-C3Y-jqQe.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-DhpaKwjC.js → ProjectSettingsPage-Bx54lj7x.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-DPxfH469.js → TraceabilityWorkspace-BNxFpGCt.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-BE_Zqtym.js → dashboard-localization-BQDxpGq0.js} +19 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-D5HmMZ27.js → index-CsSv72iu.js} +2 -2
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
- package/templates/.agents/dashboard/packages/branding/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +127 -127
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +72 -72
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +128 -128
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/design/.zaip-managed.json +3 -3
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/requirements/autonomous-assurance.md +1 -1
- package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
- package/templates/.agents/requirements/comparative-audit.md +1 -1
- package/templates/.agents/requirements/context-engine.md +1 -1
- package/templates/.agents/requirements/cost-observability.md +1 -1
- package/templates/.agents/requirements/dashboard-launch.md +1 -1
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +1 -1
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +1 -1
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +1 -1
- package/templates/.agents/requirements/software-architecture.md +1 -1
- package/templates/.agents/requirements/strategic-improvements.md +1 -1
- package/templates/.agents/requirements/work-lifecycle.md +1 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +162 -96
- package/templates/.agents/runtime/checksums.sha256 +5 -5
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/provenance.json +4 -4
- package/templates/.agents/runtime/sbom.cdx.json +1 -1
- package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +1 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +25 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-publication-intent.test.mjs +56 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +1 -0
- package/templates/.agents/skills/zaip-skill-lifecycle-closure/SKILL.md +8 -0
- package/templates/.agents/skills/zaip-skill-lifecycle-closure/references/post-publication-task-first.md +119 -0
- package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +9 -0
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/template-manifest.json +75 -67
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type PublicAgentCatalog } from "./agent-adapters.js";
|
|
2
2
|
export { isManagedAdapter } from "./managed-adapter.js";
|
|
3
|
-
export declare const ADAPTERS_VERSION = "5.
|
|
3
|
+
export declare const ADAPTERS_VERSION = "5.4.0";
|
|
4
4
|
export interface AdapterFile {
|
|
5
5
|
path: string;
|
|
6
6
|
content: string;
|
|
@@ -11,7 +11,7 @@ export { isManagedAdapter } from "./managed-adapter.js";
|
|
|
11
11
|
import { CODEX_GITHUB_DEPLOY_RULES, CODEX_SECURITY_RULES } from "./codex-rules.js";
|
|
12
12
|
import { codexWindowsHookCommand } from "./codex-windows-hook-command.js";
|
|
13
13
|
import { applyTransactionalChanges, assertSafeDestination } from "./transactional-files.js";
|
|
14
|
-
export const ADAPTERS_VERSION = "5.
|
|
14
|
+
export const ADAPTERS_VERSION = "5.4.0";
|
|
15
15
|
const ROOT_GUIDANCE = `# ZAIP-AIOS
|
|
16
16
|
|
|
17
17
|
Read \`.agents/config/project.yaml\` first. Apply ZAIP only for literal boolean \`zaip.enabled: true\`, except framework maintenance or \`zaip enable\`. \`AGENTS.md\` is a bootstrap; canonical guidance lives in \`.agents/\`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-literal-read-sequence-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-literal-read-sequence-template.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,QAyFvC,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export const CODEX_LITERAL_READ_SEQUENCE = String.raw `export function createLiteralReadSequence({ shellSyntax, tokenizeLiteralCommand }) {
|
|
2
|
+
// Recognize only literal read-only pipelines/sequences. Quoted search text is data,
|
|
3
|
+
// not a PowerShell alias (for example the AC prefix in acceptance-criterion IDs).
|
|
4
|
+
function isLiteralGitRead(values) {
|
|
5
|
+
if (!/^(?:git|git\.exe)$/i.test(values[0])) return false;
|
|
6
|
+
// Deliberately narrow: only the fixed fsmonitor=false override, no aliases, routing, pagers, external diff,
|
|
7
|
+
// textconv, output files, or mutating subcommands in a read sequence.
|
|
8
|
+
const args = values.slice(1);
|
|
9
|
+
if (args.shift() !== "--no-pager" || args.shift() !== "-c" || args.shift() !== "core.fsmonitor=false") return false;
|
|
10
|
+
const subcommand = args.shift();
|
|
11
|
+
if (!["status", "log", "rev-parse", "diff"].includes(subcommand)) return false;
|
|
12
|
+
if (["diff", "log"].includes(subcommand) && !["--no-ext-diff", "--no-textconv"].every(flag => args.includes(flag))) return false;
|
|
13
|
+
if (subcommand === "log" && !["--no-patch", "--no-show-signature"].every(flag => args.includes(flag))) return false;
|
|
14
|
+
if (subcommand === "diff" && !["--name-only", "--name-status", "--stat", "--check"].some(flag => args.includes(flag))) return false;
|
|
15
|
+
const options = {
|
|
16
|
+
status: /^(?:-s|-b|--short|--branch|--porcelain(?:=v?[12])?|--untracked-files(?:=(?:no|normal|all))?|--ignored(?:=(?:traditional|matching|no))?)$/,
|
|
17
|
+
log: /^(?:--no-ext-diff|--no-textconv|--no-patch|--no-show-signature|--oneline|--all|--decorate(?:=(?:short|full|no))?|--no-decorate|--date-order|--topo-order|--reverse|--no-merges|--merges|--max-count=\d+|-\d+|--format=(?:%H|%h|%s|%H%x09%s))$/,
|
|
18
|
+
"rev-parse": /^(?:--show-toplevel|--git-common-dir|--absolute-git-dir|--is-inside-work-tree|--show-prefix|--verify|--short(?:=\d+)?|--symbolic-full-name|--abbrev-ref|--end-of-options)$/,
|
|
19
|
+
diff: /^(?:--name-only|--name-status|--stat|--check|--cached|--staged|--no-ext-diff|--no-textconv|--exit-code|--quiet)$/,
|
|
20
|
+
};
|
|
21
|
+
return args.every(value => value.startsWith("-") ? options[subcommand].test(value) :
|
|
22
|
+
// Plain revisions/pathspecs only; shell syntax was already parsed separately.
|
|
23
|
+
/^[A-Za-z0-9_./@~^:\\-]+$/.test(value));
|
|
24
|
+
}
|
|
25
|
+
function isLiteralReadSequence(command) {
|
|
26
|
+
const syntax = shellSyntax(command);
|
|
27
|
+
if (syntax.interpolation || syntax.redirection || syntax.grouping) return false;
|
|
28
|
+
const parts = [];
|
|
29
|
+
let start = 0, quote = null;
|
|
30
|
+
for (let index = 0; index < command.length; index++) {
|
|
31
|
+
const char = command[index];
|
|
32
|
+
if (quote !== null) {
|
|
33
|
+
if (char === quote) {
|
|
34
|
+
if (quote === "'" && command[index + 1] === "'" && process.platform === "win32") index++;
|
|
35
|
+
else quote = null;
|
|
36
|
+
}
|
|
37
|
+
} else if (char === "'" || char === '"') quote = char;
|
|
38
|
+
else if (char === ";" || char === "|") { parts.push(command.slice(start, index)); start = index + 1; }
|
|
39
|
+
}
|
|
40
|
+
if (quote !== null) return false;
|
|
41
|
+
parts.push(command.slice(start));
|
|
42
|
+
return parts.every(part => {
|
|
43
|
+
const values = tokenizeLiteralCommand(part);
|
|
44
|
+
if (!values?.length) return false;
|
|
45
|
+
if (isLiteralGitRead(values)) return true;
|
|
46
|
+
if (/^Get-Item$/i.test(values[0])) {
|
|
47
|
+
const args = values.slice(1);
|
|
48
|
+
const path = args[0] === "-LiteralPath" ? args[1] : args[0];
|
|
49
|
+
return args.length === (args[0] === "-LiteralPath" ? 2 : 1) &&
|
|
50
|
+
!!path && !/^(?:[a-z][\w-]*:)(?![\/])/i.test(path) && !/[*?]/.test(path);
|
|
51
|
+
}
|
|
52
|
+
if (/^Select-Object$/i.test(values[0])) {
|
|
53
|
+
const args = values.slice(1);
|
|
54
|
+
const metadata = /^(?:Name|FullName|Length|LastWriteTime|LastWriteTimeUtc|CreationTime|Attributes|IsReadOnly|LinkType|Target)(?:,(?:Name|FullName|Length|LastWriteTime|LastWriteTimeUtc|CreationTime|Attributes|IsReadOnly|LinkType|Target))*$/i;
|
|
55
|
+
const slice = args.length > 0 && args.length % 2 === 0 && args.every((value, index) =>
|
|
56
|
+
index % 2 === 0 ? /^(?:-First|-Last|-Skip)$/i.test(value) : /^\d+$/.test(value));
|
|
57
|
+
return slice ||
|
|
58
|
+
(args.length === 2 && args[0] === "-ExpandProperty" && args[1] === "Target") ||
|
|
59
|
+
(args.length === 2 && args[0] === "-Property" && metadata.test(args[1])) ||
|
|
60
|
+
(args.length === 1 && metadata.test(args[0]));
|
|
61
|
+
}
|
|
62
|
+
if (/^Select-String$/i.test(values[0])) {
|
|
63
|
+
const flags = /^(?:-SimpleMatch|-CaseSensitive|-Quiet|-List|-AllMatches|-NotMatch|-Raw)$/i;
|
|
64
|
+
const valued = /^(?:-Pattern|-Path|-LiteralPath|-Context|-Encoding)$/i;
|
|
65
|
+
for (let index = 1; index < values.length; index++) {
|
|
66
|
+
const value = values[index];
|
|
67
|
+
if (flags.test(value)) continue;
|
|
68
|
+
if (valued.test(value) && values[index + 1] !== undefined) { index++; continue; }
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
return values.length > 1;
|
|
72
|
+
}
|
|
73
|
+
if (/^(?:gh|gh\.exe)$/i.test(values[0])) {
|
|
74
|
+
if (!["run", "release"].includes(values[1]) || values[2] !== "view") return false;
|
|
75
|
+
const args = values.slice(3);
|
|
76
|
+
if (args[0] && /^[A-Za-z0-9._-]+$/.test(args[0]) && !args[0].startsWith("-")) args.shift();
|
|
77
|
+
for (let index = 0; index < args.length; index += 2) {
|
|
78
|
+
if (!["--json", "--jq"].includes(args[index]) || !args[index + 1]) return false;
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
if (/^(?:Get-Content|Measure-Object)$/i.test(values[0])) return true;
|
|
83
|
+
if (!/^(?:rg|rg\.exe)$/i.test(values[0])) return false;
|
|
84
|
+
return !values.slice(1).some(value => /^--(?:pre|hostname-bin)(?:=|$)/i.test(value));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return isLiteralReadSequence;
|
|
89
|
+
}
|
|
90
|
+
`;
|
|
91
|
+
//# sourceMappingURL=codex-literal-read-sequence-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-literal-read-sequence-template.js","sourceRoot":"","sources":["../../src/services/codex-literal-read-sequence-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-hook-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-hook-template.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-hook-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-hook-template.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,QAspB/B,CAAC"}
|
|
@@ -214,8 +214,11 @@ async function validateExplicitFilesystemReferences(command, cwd, reviewedPaths
|
|
|
214
214
|
if (jsonPath) { if (path.includes("\\") || !isWithinRepository(resolve(path))) deny("Explicit filesystem path escapes the repository boundary."); continue; }
|
|
215
215
|
if (path.includes("\\") || !isWithinRepository(resolve(path)) || (match[2] && before && !(/\s/.test(before) || before === "=" || jsonPath)) || (after && !/\s/.test(after) && !jsonPath)) deny("Explicit operating-system paths outside the repository are blocked.");
|
|
216
216
|
}
|
|
217
|
-
if (process.platform === "win32"
|
|
218
|
-
|
|
217
|
+
if (process.platform === "win32") {
|
|
218
|
+
for (const match of checked.matchAll(/(?:^|[\s"'=(,])(\\(?!\\)[^\s\\/"'<>|;]+(?:\\[^\s"'<>|;]+|\.[A-Za-z0-9]{1,10}))/g)) {
|
|
219
|
+
if (principalFullAccess) { await assertCanonicalLiteralPath(match[1], cwd); continue; }
|
|
220
|
+
deny("Drive-rooted filesystem paths outside the repository are blocked.");
|
|
221
|
+
}
|
|
219
222
|
}
|
|
220
223
|
for (const candidate of explicitPathCandidates(checked)) {
|
|
221
224
|
if (principalFullAccess) { await assertCanonicalLiteralPath(candidate, cwd); continue; }
|
|
@@ -302,6 +305,41 @@ async function validateGitPublication(command) {
|
|
|
302
305
|
}
|
|
303
306
|
}
|
|
304
307
|
|
|
308
|
+
// These CLI values are data, never shell programs. Only one literal invocation of
|
|
309
|
+
// the canonical runtime qualifies; interpolation, pipelines and other scripts do not.
|
|
310
|
+
function executionPolicyCommand(command) {
|
|
311
|
+
const tokens = tokenizeLiteralCommand(command);
|
|
312
|
+
if (!tokens || !/^(?:.*[\\/])?node(?:\.exe)?$/i.test(tokens[0] ?? "") ||
|
|
313
|
+
resolve(event.cwd, tokens[1] ?? "") !== resolve(repositoryRoot, ".agents/runtime/bin/zaip.mjs") ||
|
|
314
|
+
tokens[2] !== "conversation" || tokens[3] !== "finish") return command;
|
|
315
|
+
const result = [...tokens];
|
|
316
|
+
for (let index = 4; index < result.length; index++) {
|
|
317
|
+
if (result[index] === "--summary" && index + 1 < result.length) result[++index] = "literal-summary";
|
|
318
|
+
else if (result[index].startsWith("--summary=")) result[index] = "--summary=literal-summary";
|
|
319
|
+
}
|
|
320
|
+
return result.map(token => JSON.stringify(token)).join(" ");
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
async function isCurrentRepositoryRead(command) {
|
|
324
|
+
const tokens = tokenizeLiteralCommand(command);
|
|
325
|
+
if (!tokens || !/^gh(?:\.exe)?$/i.test(tokens[0] ?? "")) return false;
|
|
326
|
+
const rest = [], repositories = [];
|
|
327
|
+
for (let index = 0; index < tokens.length; index++) {
|
|
328
|
+
const token = tokens[index];
|
|
329
|
+
if (token === "--repo" || token === "-R") repositories.push(tokens[++index]);
|
|
330
|
+
else if (token.startsWith("--repo=")) repositories.push(token.slice(7));
|
|
331
|
+
else if (token.startsWith("-R") && token.length > 2) repositories.push(token.slice(2));
|
|
332
|
+
else rest.push(token);
|
|
333
|
+
}
|
|
334
|
+
if (repositories.length !== 1 || !/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(repositories[0] ?? "") ||
|
|
335
|
+
rest.some(token => token.includes("'")) || !isLiteralReadSequence(rest.map(token => "'" + token + "'").join(" "))) return false;
|
|
336
|
+
try {
|
|
337
|
+
const origin = (await execute("git", ["remote", "get-url", "origin"], { cwd: repositoryRoot, encoding: "utf8", windowsHide: true })).stdout.trim();
|
|
338
|
+
const match = /^(?:git@github\.com:|https:\/\/github\.com\/|ssh:\/\/git@github\.com\/)([^/]+\/[^/]+?)\.git$|^(?:git@github\.com:|https:\/\/github\.com\/|ssh:\/\/git@github\.com\/)([^/]+\/[^/]+?)\/?$/.exec(origin);
|
|
339
|
+
return !!match && (match[1] ?? match[2]).toLowerCase() === repositories[0].toLowerCase();
|
|
340
|
+
} catch { return false; }
|
|
341
|
+
}
|
|
342
|
+
|
|
305
343
|
function validateHashicorpRead(command) {
|
|
306
344
|
const tokens = tokenizeLiteralCommand(command);
|
|
307
345
|
if (!tokens || !/^(?:curl(?:\.exe)?|Invoke-WebRequest|Invoke-RestMethod|iwr|irm)$/i.test(tokens[0]))
|
|
@@ -609,14 +647,15 @@ else {
|
|
|
609
647
|
...await reviewedContextReadPaths(command, credentialReferencePattern, installedRoot), ...await (nativeAuthority?.reviewedValidationRuntimePaths?.(command, tokenizeLiteralCommand, repositoryRoot) ?? []),
|
|
610
648
|
];
|
|
611
649
|
await validateExplicitFilesystemReferences(command, event.cwd, reviewedPaths);
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
await
|
|
615
|
-
await
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
650
|
+
const policyCommand = executionPolicyCommand(command);
|
|
651
|
+
validateInlineExecution(policyCommand, deny);
|
|
652
|
+
if (!isLiteralReadSequence(policyCommand) && !await isCurrentRepositoryRead(policyCommand)) {
|
|
653
|
+
await validateGitPublication(policyCommand);
|
|
654
|
+
await validateCloudRunner(policyCommand);
|
|
655
|
+
validateDirectCloudProviderMutation(policyCommand);
|
|
656
|
+
validateExplicitNetwork(policyCommand);
|
|
657
|
+
await validateShellDeletion(policyCommand, event.cwd);
|
|
658
|
+
checkDestructivePatterns(policyCommand, destructivePatterns, deny);
|
|
620
659
|
}
|
|
621
660
|
try { const updated = await captureCliTurn(repositoryRoot, event, command); if (updated) writeSync(1, JSON.stringify(rewriteCliInput(toolInput, updated, commandFromCmd)) + "\n"); }
|
|
622
661
|
catch (error) { deny(error.message); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-hook-template.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-hook-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-hook-template.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-hook-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgZ3C,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsQ5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-host-context-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-host-context-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-host-context-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-host-context-template.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gCAAgC,QAyK5C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CODEX_LITERAL_READ_SEQUENCE } from "./codex-literal-read-sequence-template.js";
|
|
1
2
|
export const CODEX_PRE_TOOL_HOST_CONTEXT_HOOK = String.raw `import { execFile } from "node:child_process";
|
|
2
3
|
import { lstat, realpath } from "node:fs/promises";
|
|
3
4
|
import { dirname, isAbsolute, resolve, toNamespacedPath } from "node:path";
|
|
@@ -166,5 +167,6 @@ async function selectHookExecutionWorkspace(installedRoot, event, allowExternal
|
|
|
166
167
|
|
|
167
168
|
return { configuredPermissionProfile, selectHookRepositoryRoot, selectHookExecutionWorkspace };
|
|
168
169
|
}
|
|
170
|
+
${CODEX_LITERAL_READ_SEQUENCE}
|
|
169
171
|
`;
|
|
170
172
|
//# sourceMappingURL=codex-pre-tool-host-context-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-host-context-template.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-host-context-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-host-context-template.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-host-context-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwKxD,2BAA2B;CAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-support-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-support-template.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-support-template.d.ts","sourceRoot":"","sources":["../../src/services/codex-pre-tool-support-template.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,QA8UvC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const CODEX_PRE_TOOL_SUPPORT_HOOK = String.raw `import { lstat, readFile, realpath } from "node:fs/promises";
|
|
2
2
|
import { dirname, isAbsolute, relative, resolve, toNamespacedPath } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
import { createHostContext } from "./zaip-pre-tool-host-context.mjs";
|
|
4
|
+
import { createHostContext, createLiteralReadSequence } from "./zaip-pre-tool-host-context.mjs";
|
|
5
5
|
import { createCliTurnCapture } from "./zaip-pre-tool-cli-capture.mjs";
|
|
6
6
|
export { readAuthorityRunRecords, checkDestructivePatterns, configuredDeploymentBranches } from "./zaip-native-tool-authority.mjs";
|
|
7
7
|
const pathIdentity = value => process.platform === "win32" ? toNamespacedPath(resolve(value)).toLowerCase() : resolve(value);
|
|
@@ -99,70 +99,7 @@ export function requiresShellMutationRun(command, tokens, cwd, repositoryRoot) {
|
|
|
99
99
|
return (tokens && isSedMutation(tokens)) || shellMutationPattern.test(command) || syntax.redirection;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
// not a PowerShell alias (for example the AC prefix in acceptance-criterion IDs).
|
|
104
|
-
function isLiteralGitRead(values) {
|
|
105
|
-
if (!/^(?:git|git\.exe)$/i.test(values[0])) return false;
|
|
106
|
-
// Deliberately narrow: only the fixed fsmonitor=false override, no aliases, routing, pagers, external diff,
|
|
107
|
-
// textconv, output files, or mutating subcommands in a read sequence.
|
|
108
|
-
const args = values.slice(1);
|
|
109
|
-
if (args.shift() !== "--no-pager" || args.shift() !== "-c" || args.shift() !== "core.fsmonitor=false") return false;
|
|
110
|
-
const subcommand = args.shift();
|
|
111
|
-
if (!["status", "log", "rev-parse", "diff"].includes(subcommand)) return false;
|
|
112
|
-
if (["diff", "log"].includes(subcommand) && !["--no-ext-diff", "--no-textconv"].every(flag => args.includes(flag))) return false;
|
|
113
|
-
if (subcommand === "log" && !["--no-patch", "--no-show-signature"].every(flag => args.includes(flag))) return false;
|
|
114
|
-
if (subcommand === "diff" && !["--name-only", "--name-status", "--stat", "--check"].some(flag => args.includes(flag))) return false;
|
|
115
|
-
const options = {
|
|
116
|
-
status: /^(?:-s|-b|--short|--branch|--porcelain(?:=v?[12])?|--untracked-files(?:=(?:no|normal|all))?|--ignored(?:=(?:traditional|matching|no))?)$/,
|
|
117
|
-
log: /^(?:--no-ext-diff|--no-textconv|--no-patch|--no-show-signature|--oneline|--all|--decorate(?:=(?:short|full|no))?|--no-decorate|--date-order|--topo-order|--reverse|--no-merges|--merges|--max-count=\d+|-\d+|--format=(?:%H|%h|%s|%H%x09%s))$/,
|
|
118
|
-
"rev-parse": /^(?:--show-toplevel|--git-common-dir|--absolute-git-dir|--is-inside-work-tree|--show-prefix|--verify|--short(?:=\d+)?|--symbolic-full-name|--abbrev-ref|--end-of-options)$/,
|
|
119
|
-
diff: /^(?:--name-only|--name-status|--stat|--check|--cached|--staged|--no-ext-diff|--no-textconv|--exit-code|--quiet)$/,
|
|
120
|
-
};
|
|
121
|
-
return args.every(value => value.startsWith("-") ? options[subcommand].test(value) :
|
|
122
|
-
// Plain revisions/pathspecs only; shell syntax was already parsed separately.
|
|
123
|
-
/^[A-Za-z0-9_./@~^:\\-]+$/.test(value));
|
|
124
|
-
}
|
|
125
|
-
export function isLiteralReadSequence(command) {
|
|
126
|
-
const syntax = shellSyntax(command);
|
|
127
|
-
if (syntax.interpolation || syntax.redirection || syntax.grouping) return false;
|
|
128
|
-
const parts = [];
|
|
129
|
-
let start = 0, quote = null;
|
|
130
|
-
for (let index = 0; index < command.length; index++) {
|
|
131
|
-
const char = command[index];
|
|
132
|
-
if (quote !== null) {
|
|
133
|
-
if (char === quote) {
|
|
134
|
-
if (quote === "'" && command[index + 1] === "'" && process.platform === "win32") index++;
|
|
135
|
-
else quote = null;
|
|
136
|
-
}
|
|
137
|
-
} else if (char === "'" || char === '"') quote = char;
|
|
138
|
-
else if (char === ";" || char === "|") { parts.push(command.slice(start, index)); start = index + 1; }
|
|
139
|
-
}
|
|
140
|
-
if (quote !== null) return false;
|
|
141
|
-
parts.push(command.slice(start));
|
|
142
|
-
return parts.every(part => {
|
|
143
|
-
const values = tokenizeLiteralCommand(part);
|
|
144
|
-
if (!values?.length) return false;
|
|
145
|
-
if (isLiteralGitRead(values)) return true;
|
|
146
|
-
if (/^Get-Item$/i.test(values[0])) {
|
|
147
|
-
const args = values.slice(1);
|
|
148
|
-
const path = args[0] === "-LiteralPath" ? args[1] : args[0];
|
|
149
|
-
return args.length === (args[0] === "-LiteralPath" ? 2 : 1) &&
|
|
150
|
-
!!path && !/^(?:[a-z][\w-]*:)(?![\/])/i.test(path) && !/[*?]/.test(path);
|
|
151
|
-
}
|
|
152
|
-
if (/^Select-Object$/i.test(values[0])) {
|
|
153
|
-
const args = values.slice(1);
|
|
154
|
-
const metadata = /^(?:Name|FullName|Length|LastWriteTime|LastWriteTimeUtc|CreationTime|Attributes|IsReadOnly|LinkType|Target)(?:,(?:Name|FullName|Length|LastWriteTime|LastWriteTimeUtc|CreationTime|Attributes|IsReadOnly|LinkType|Target))*$/i;
|
|
155
|
-
return (args.length === 2 && args[0] === "-First" && /^\d+$/.test(args[1])) ||
|
|
156
|
-
(args.length === 2 && args[0] === "-ExpandProperty" && args[1] === "Target") ||
|
|
157
|
-
(args.length === 2 && args[0] === "-Property" && metadata.test(args[1])) ||
|
|
158
|
-
(args.length === 1 && metadata.test(args[0]));
|
|
159
|
-
}
|
|
160
|
-
if (/^(?:Get-Content|Measure-Object)$/i.test(values[0])) return true;
|
|
161
|
-
if (!/^(?:rg|rg\.exe)$/i.test(values[0])) return false;
|
|
162
|
-
return !values.slice(1).some(value => /^--(?:pre|hostname-bin)(?:=|$)/i.test(value));
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
|
|
102
|
+
export const isLiteralReadSequence = createLiteralReadSequence({ shellSyntax, tokenizeLiteralCommand });
|
|
166
103
|
function isSedMutation(tokens) {
|
|
167
104
|
const executable = ((tokens[0] ?? "").split(/[\\/]/).pop() ?? "").replace(/\.(?:exe|cmd|bat)$/i, "");
|
|
168
105
|
return /^sed$/i.test(executable) && tokens.slice(1).some((token) =>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-support-template.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-support-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-support-template.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-support-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8UpD,CAAC"}
|
package/package.json
CHANGED
|
@@ -6,6 +6,12 @@ English | [Português](README.md)
|
|
|
6
6
|
|
|
7
7
|
## Quick overview
|
|
8
8
|
|
|
9
|
+
The [v5.4 guide](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v54-fechamento-cache-hooks.md) describes restricted
|
|
10
|
+
administrative closure after publication, the distinction between text and commands
|
|
11
|
+
in hooks, GitHub queries targeting the current repository, and objective acceptance
|
|
12
|
+
criteria. Partial evidence and historical outcomes remain visible; tests are rerun
|
|
13
|
+
when a change or finding invalidates the corresponding proof.
|
|
14
|
+
|
|
9
15
|
The [rework prevention guide](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v51-eficiencia-e-publicacao.md)
|
|
10
16
|
documents complete checks before finalization, bounded Run reads, conservative
|
|
11
17
|
test reuse, content-based Dashboard builds and separate npm confirmation.
|
|
@@ -22,6 +28,19 @@ records bounded Git discovery in the Windows launcher, observation recovery
|
|
|
22
28
|
after maintenance, thread-scoped Run queries, and validation cache measurements.
|
|
23
29
|
Evidence distinguishes local tests, independent review, and package publication.
|
|
24
30
|
|
|
31
|
+
The [v5.3 governance and recovery contract](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v53-governanca-e-retomada.md)
|
|
32
|
+
defines recovery for published Task-first deliveries, Run continuity,
|
|
33
|
+
authenticated remote resumption, and criteria for measuring actual test savings.
|
|
34
|
+
Legacy failure reconciliation uses complete signed reruns, preserves history,
|
|
35
|
+
and prevents resolved failures from imposing indefinite retests. It does not
|
|
36
|
+
waive impact checks or turn an unverified installation into a cache HIT.
|
|
37
|
+
Literal audit queries using `Select-String`, numeric `Select-Object` slices,
|
|
38
|
+
and `gh run view`/`gh release view` are reads; interpolation, remote writes,
|
|
39
|
+
redirection, and secret access retain their controls.
|
|
40
|
+
On Windows, rooted paths used by the principal in `zaip-aios-full-access` undergo
|
|
41
|
+
canonical validation; literal search patterns are not blocked merely because
|
|
42
|
+
they contain a backslash. Traversal and protected destinations remain denied.
|
|
43
|
+
|
|
25
44
|
> **Source, candidate, and publication:** this README describes the checkout's
|
|
26
45
|
> contracts and features. The [evolution matrix](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v50-documentacao-editorial.md)
|
|
27
46
|
> identifies implementation and evidence. Local qualification, consumer hook
|
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
|
|
7
7
|
## Visão rápida
|
|
8
8
|
|
|
9
|
+
O [guia da v5.4](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v54-fechamento-cache-hooks.md) descreve o fechamento
|
|
10
|
+
administrativo restrito após publicação, a distinção entre texto e comandos nos
|
|
11
|
+
hooks, consultas GitHub ao repositório atual e os critérios objetivos de aceite.
|
|
12
|
+
Evidências parciais e estados históricos permanecem visíveis; testes são repetidos
|
|
13
|
+
quando uma mudança ou finding invalida a prova correspondente.
|
|
14
|
+
|
|
9
15
|
O [guia de prevenção de retrabalho](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v51-eficiencia-e-publicacao.md)
|
|
10
16
|
documenta o pré-check completo antes da finalização, as leituras limitadas de Runs,
|
|
11
17
|
o reuso conservador de testes, o build do Dashboard por conteúdo e a confirmação
|
|
@@ -23,6 +29,19 @@ registra a descoberta Git limitada no launcher Windows, a retomada da observaç
|
|
|
23
29
|
após manutenção, a consulta de Runs por chat e a medição do cache de validação.
|
|
24
30
|
As evidências distinguem testes locais, revisão e publicação do pacote.
|
|
25
31
|
|
|
32
|
+
O [contrato de governança e retomada da v5.3](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v53-governanca-e-retomada.md)
|
|
33
|
+
define a recuperação de entregas Task-first publicadas, a continuidade de Runs,
|
|
34
|
+
a retomada remota autenticada e os critérios para medir economia real de testes.
|
|
35
|
+
A reconciliação de falhas antigas usa reexecuções completas e assinadas, preserva
|
|
36
|
+
o histórico e evita que uma falha já resolvida imponha retestes indefinidamente.
|
|
37
|
+
Isso não dispensa os testes por impacto nem transforma uma instalação não verificada em HIT.
|
|
38
|
+
Consultas literais de auditoria com `Select-String`, recortes numéricos de
|
|
39
|
+
`Select-Object` e `gh run view`/`gh release view` são leituras; interpolação,
|
|
40
|
+
escrita remota, redirecionamento e acesso a segredos conservam seus controles.
|
|
41
|
+
No Windows, caminhos rooted do principal em `zaip-aios-full-access` passam pela
|
|
42
|
+
validação canônica; padrões literais de busca não causam bloqueio apenas por
|
|
43
|
+
conter uma barra invertida. Travessia e destinos protegidos continuam recusados.
|
|
44
|
+
|
|
26
45
|
> **Fonte, candidato e publicação:** este README descreve os contratos e recursos
|
|
27
46
|
> do checkout. A [matriz de evolução](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v50-documentacao-editorial.md)
|
|
28
47
|
> identifica a implementação e suas provas. Qualificação local, ativação dos
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_zaip_managed": "zaip-managed generated-do-not-edit source=agent-discovery version=5.
|
|
2
|
+
"_zaip_managed": "zaip-managed generated-do-not-edit source=agent-discovery version=5.4.0 sha256=3def7a2b43c1a751f8e68754ef94cb107a80b5d26e11f065af2b4cc145fc8897",
|
|
3
3
|
"schema_version": 1,
|
|
4
4
|
"source": {
|
|
5
5
|
"path": ".agents/config/agents/catalog.yaml",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.0",
|
|
4
4
|
"files": [
|
|
5
5
|
{
|
|
6
6
|
"path": "DATA-DICTIONARY.md",
|
|
@@ -15,28 +15,28 @@
|
|
|
15
15
|
"sha256": "d0366ee0d847fe681de0971a14c80ee3a6af1430c0e9c5eb4f84f14a4b734b82"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
"path": "apps/frontend/dist/assets/DashboardHelpDialog-
|
|
19
|
-
"sha256": "
|
|
18
|
+
"path": "apps/frontend/dist/assets/DashboardHelpDialog-Bw42VT15.js",
|
|
19
|
+
"sha256": "a783e3da41818c3b756f52ca13b5055cff73c128476e8774bb388cbf450acb3b"
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"path": "apps/frontend/dist/assets/DashboardHelpDialog-DRI_XwUf.css",
|
|
23
23
|
"sha256": "95dbb5c26ad73831f36f2a51d5e08ef5eee7ca85190764a3e63bf1e700fbadf8"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"path": "apps/frontend/dist/assets/PricingSettingsDialog-
|
|
27
|
-
"sha256": "
|
|
26
|
+
"path": "apps/frontend/dist/assets/PricingSettingsDialog-C3Y-jqQe.js",
|
|
27
|
+
"sha256": "378ef7877d5a017d95fae04687ce72a3795e943992d959552bf475c0101bd54d"
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
"path": "apps/frontend/dist/assets/ProjectSettingsPage-
|
|
31
|
-
"sha256": "
|
|
30
|
+
"path": "apps/frontend/dist/assets/ProjectSettingsPage-Bx54lj7x.js",
|
|
31
|
+
"sha256": "a5902a5abf2437bbf7d1883419fde1bd62070e53d83bc9e04c3e0cb9d5b9eb6d"
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
|
-
"path": "apps/frontend/dist/assets/ProjectSettingsPage-
|
|
35
|
-
"sha256": "
|
|
34
|
+
"path": "apps/frontend/dist/assets/ProjectSettingsPage-CQMhvzvJ.css",
|
|
35
|
+
"sha256": "10e875c4e3ab6c252983822e25a85db3d707d903c0fcf39812909fdd1d013f48"
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
|
-
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-
|
|
39
|
-
"sha256": "
|
|
38
|
+
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-BNxFpGCt.js",
|
|
39
|
+
"sha256": "51899fe52c732793df9cb29379931176c509018b48668f55dc642e3613da2a2d"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
|
|
@@ -51,16 +51,16 @@
|
|
|
51
51
|
"sha256": "90be9550e3b6719ffc7a029ac35a93a4f14e95263b3996ad6c06dbfc0490f307"
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
"path": "apps/frontend/dist/assets/dashboard-localization-
|
|
55
|
-
"sha256": "
|
|
54
|
+
"path": "apps/frontend/dist/assets/dashboard-localization-BQDxpGq0.js",
|
|
55
|
+
"sha256": "0bba0031539780611dcb2d6013975d28afffe14d36adb48d899976f72764c886"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"path": "apps/frontend/dist/assets/icons-vendor-CjGGux6h.js",
|
|
59
59
|
"sha256": "0f615bc6eaeb21d12fc0457867d6acbfe9434ebae0ebecea9444262e46b972e9"
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"path": "apps/frontend/dist/assets/index-
|
|
63
|
-
"sha256": "
|
|
62
|
+
"path": "apps/frontend/dist/assets/index-CsSv72iu.js",
|
|
63
|
+
"sha256": "b77d3ec46eb6ef76265b8435b60237f71615dba33eb977e32d1c20a8fa1a92f5"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"path": "apps/frontend/dist/assets/index-DZhppOIk.css",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"path": "apps/frontend/dist/index.html",
|
|
95
|
-
"sha256": "
|
|
95
|
+
"sha256": "131bba5c5dd50297a046ef0ae1794540fe8db8b8e8526e50f9d828d4a345b13f"
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
"path": "apps/frontend/dist/logo_novo_azul.png",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
"path": "apps/frontend/package.json",
|
|
107
|
-
"sha256": "
|
|
107
|
+
"sha256": "8e6978a93314bf237edfa58a5e74a29e3f9a426c31078d154b293e49c8dbb62d"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"path": "apps/frontend/playwright.dom.config.ts",
|
|
@@ -600,7 +600,7 @@
|
|
|
600
600
|
},
|
|
601
601
|
{
|
|
602
602
|
"path": "modules/cost-monitor/package.json",
|
|
603
|
-
"sha256": "
|
|
603
|
+
"sha256": "ee000ea96ddda721096ac3814301a947786aaa82121af3e1bdecde099a78e719"
|
|
604
604
|
},
|
|
605
605
|
{
|
|
606
606
|
"path": "modules/cost-monitor/src/agent-groups.test.ts",
|
|
@@ -1012,7 +1012,7 @@
|
|
|
1012
1012
|
},
|
|
1013
1013
|
{
|
|
1014
1014
|
"path": "modules/operations/package.json",
|
|
1015
|
-
"sha256": "
|
|
1015
|
+
"sha256": "825b2668a3836982e80d19c0b7acead8bd89f5d50a790687745a9a46a1ea4660"
|
|
1016
1016
|
},
|
|
1017
1017
|
{
|
|
1018
1018
|
"path": "modules/operations/src/contracts.ts",
|
|
@@ -1752,7 +1752,7 @@
|
|
|
1752
1752
|
},
|
|
1753
1753
|
{
|
|
1754
1754
|
"path": "modules/traceability/package.json",
|
|
1755
|
-
"sha256": "
|
|
1755
|
+
"sha256": "77d2707dc0116c0bbca917a1886f6fc07fc654410a2043d8ffacb006aa04af21"
|
|
1756
1756
|
},
|
|
1757
1757
|
{
|
|
1758
1758
|
"path": "modules/traceability/src/contracts.ts",
|
|
@@ -1824,7 +1824,7 @@
|
|
|
1824
1824
|
},
|
|
1825
1825
|
{
|
|
1826
1826
|
"path": "packages/branding/package.json",
|
|
1827
|
-
"sha256": "
|
|
1827
|
+
"sha256": "451eba3b4f2ebc0d2c3094bf25bbf7098373e820b7d2eec9e7e6df857b182264"
|
|
1828
1828
|
},
|
|
1829
1829
|
{
|
|
1830
1830
|
"path": "packages/branding/src/index.ts",
|
|
@@ -1836,7 +1836,7 @@
|
|
|
1836
1836
|
},
|
|
1837
1837
|
{
|
|
1838
1838
|
"path": "packages/contracts/package.json",
|
|
1839
|
-
"sha256": "
|
|
1839
|
+
"sha256": "5beb981d7c1f4d448ef584fa93237dce7b1d85ff16d3b01dc6ce51d3f9890552"
|
|
1840
1840
|
},
|
|
1841
1841
|
{
|
|
1842
1842
|
"path": "packages/contracts/src/export.ts",
|
|
@@ -1856,7 +1856,7 @@
|
|
|
1856
1856
|
},
|
|
1857
1857
|
{
|
|
1858
1858
|
"path": "packages/data-export/package.json",
|
|
1859
|
-
"sha256": "
|
|
1859
|
+
"sha256": "e61913ebcd0508e883b5e3576732a6781ed97aebed2151abd44223eea905a03d"
|
|
1860
1860
|
},
|
|
1861
1861
|
{
|
|
1862
1862
|
"path": "packages/data-export/src/index.test.ts",
|
|
@@ -1904,15 +1904,15 @@
|
|
|
1904
1904
|
},
|
|
1905
1905
|
{
|
|
1906
1906
|
"path": "packages/local-runtime/dist/server.cjs",
|
|
1907
|
-
"sha256": "
|
|
1907
|
+
"sha256": "cda7a18aa202d782aa6168064bb3b05c765df8991c07f960669b101efd1c64c4"
|
|
1908
1908
|
},
|
|
1909
1909
|
{
|
|
1910
1910
|
"path": "packages/local-runtime/dist/sqlite-read-model.cjs",
|
|
1911
|
-
"sha256": "
|
|
1911
|
+
"sha256": "76d6bbfa4712f1bfb22faf0bd83886db06fbcdc3efae913e7988c832b77a86a0"
|
|
1912
1912
|
},
|
|
1913
1913
|
{
|
|
1914
1914
|
"path": "packages/local-runtime/package.json",
|
|
1915
|
-
"sha256": "
|
|
1915
|
+
"sha256": "ece14cb50871d8b14559061627ba748e4ece7e5b035551f147a57432b67efce4"
|
|
1916
1916
|
},
|
|
1917
1917
|
{
|
|
1918
1918
|
"path": "packages/local-runtime/scripts/build-frontend.mjs",
|
|
@@ -1968,7 +1968,7 @@
|
|
|
1968
1968
|
},
|
|
1969
1969
|
{
|
|
1970
1970
|
"path": "packages/local-runtime/server.mjs",
|
|
1971
|
-
"sha256": "
|
|
1971
|
+
"sha256": "40f1234a02292f13e6f552e70b7c8d0c0a9a1e471b1721a3d7f733f6a26dd587"
|
|
1972
1972
|
},
|
|
1973
1973
|
{
|
|
1974
1974
|
"path": "packages/local-runtime/src/active-capture-failure.test.ts",
|
|
@@ -2848,7 +2848,7 @@
|
|
|
2848
2848
|
},
|
|
2849
2849
|
{
|
|
2850
2850
|
"path": "packages/ui/package.json",
|
|
2851
|
-
"sha256": "
|
|
2851
|
+
"sha256": "01f16550fe270897d2fdb33c0cc00e2e6bfd1d43b8a3003c11120f7e0aa93b68"
|
|
2852
2852
|
},
|
|
2853
2853
|
{
|
|
2854
2854
|
"path": "packages/ui/src/DashboardHeader.test.mjs",
|
|
@@ -2956,7 +2956,7 @@
|
|
|
2956
2956
|
},
|
|
2957
2957
|
{
|
|
2958
2958
|
"path": "tests/e2e/package.json",
|
|
2959
|
-
"sha256": "
|
|
2959
|
+
"sha256": "06416ed38e888fdbc6e4870600bbc4725bcb917d17014c647ef808dd80daf849"
|
|
2960
2960
|
},
|
|
2961
2961
|
{
|
|
2962
2962
|
"path": "tests/e2e/playwright.config.ts",
|