Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions .gitleaksignore
Original file line number Diff line number Diff line change
Expand Up @@ -293,3 +293,112 @@ da396aaf35c5ebe8302ff2fb33ef483676f02e00:packages/daemon/test/automation-context
da396aaf35c5ebe8302ff2fb33ef483676f02e00:packages/daemon/test/workspace-snapshot-queue-busy-request.test.mjs:generic-api-key:114
e949cc3527114979c2717b4afcca389a9658609e:packages/daemon/test/approval-policy-run.test.mjs:generic-api-key:321
f9f73f6cb5c4e5c13cc16758fb318a69a9de7bae:packages/providers/test/media-adapter-contract.test.mjs:generic-api-key:26

# Exact historical SHA-256 false positives independently verified on 2026-11-03.
# Source blobs, public Node-API headers and test fixture digests were recomputed.
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1045
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1156
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1169
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1170
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1178
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1409
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1568
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1618
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1662
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1664
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1669
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1671
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1674
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1686
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1728
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1772
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1773
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1774
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:1775
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:304
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:437
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:453
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:528
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:667
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:818
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-c01-delta-frozen-20261024.json:generic-api-key:946
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1084
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1097
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1098
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1106
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1337
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1496
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1546
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1590
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1592
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1597
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1599
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1602
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1614
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:1656
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:2115
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:2116
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:2117
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:2118
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:232
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:365
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:381
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:456
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:595
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:746
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:874
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-delta-frozen-20261023.json:generic-api-key:973
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1016
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1127
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1140
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1141
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1149
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1380
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1539
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1589
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1633
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1635
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1640
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1642
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1645
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1657
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:1699
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:2254
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:2255
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:2256
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:2257
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:275
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:408
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:424
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:499
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:638
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:789
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-main-delta-frozen-20261024.json:generic-api-key:917
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1037
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1148
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1161
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1162
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1170
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1403
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1562
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1612
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1656
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1658
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1663
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1665
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1668
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1680
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1722
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1885
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1886
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1887
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:1888
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:296
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:429
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:445
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:520
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:659
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:810
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/office-human-qa-p3-memory-delta-frozen-20261025.json:generic-api-key:938
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/p2-cold-bootstrap-final-regression-20261023.tap:generic-api-key:88
1047b00500ec478c5bf4594f25a97e73b8dd34a3:output/e6-20260928/p2-cold-bootstrap-final-regression-20261023.tap:generic-api-key:90
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,9 @@ only when its description is complete and its claimed validation has actually ru

## Validation

See [CI maintenance](docs/maintenance/ci.md) for the current workflow, test
execution and dependency-patch maintenance guides.

For documentation-only changes:

```bash
Expand Down
47 changes: 46 additions & 1 deletion apps/desktop/scripts/build-packaged-daemon.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -173,12 +173,35 @@ async function bundleOriginalDaemon(prepareOriginals) {
finally { bundling = false; }
}

function readBundledAcpSdkManifest(entry) {
let directory = dirname(entry);
while (true) {
const path = join(directory, "package.json");
let contents, manifest;
try { contents = readFileSync(path, "utf8"); manifest = JSON.parse(contents); }
catch (error) { if (error.code !== "ENOENT") throw error; }
if (manifest?.name === "@agentclientprotocol/sdk") {
if (typeof manifest.version !== "string" || manifest.version.trim().length === 0) {
throw new Error("packaged_acp_sdk_version_manifest_invalid");
}
return { path, contents, version: manifest.version };
}
const parent = dirname(directory);
if (parent === directory) throw new Error("packaged_acp_sdk_version_manifest_missing");
directory = parent;
}
}

async function buildOriginalDaemonBundle(codesignReceipt, officeReceipt, sourceInputs) {
requireBundle(Boolean(officeReceipt) === Boolean(sourceInputs));
const gstackIdentity = await preparePackagedGstackBuild({
required: Boolean(officeReceipt) && process.env.LING_PACKAGED_RELEASE_REVIEW_REQUIRED === "1",
});
const gstack = packagedGstackIdentityPlugin({ identity: gstackIdentity, sourceInputs });
const acpVersionModule = realpathSync(resolve(desktopRoot, "../../packages/daemon",
sourceInputs ? "src/features/execution-engines/acp-sdk-version.ts" : "dist/features/execution-engines/acp-sdk-version.js"));
const acpVersionMarker = `const embeddedBundledAcpSdkVersion${sourceInputs ? ": string" : ""} = "NO_PACKAGED_ACP_SDK_VERSION";`;
let acpVersionVisits = 0, acpManifest;
const definitions = [
{
name: "codesign", suffix: /packaged-codesign-published-review\.js$/,
Expand All @@ -205,7 +228,27 @@ async function buildOriginalDaemonBundle(codesignReceipt, officeReceipt, sourceI
bundle: true, platform: "node", format: "esm", outfile: "dist/daemon/cli.mjs",
...(sourceInputs ? { write: false, metafile: true, tsconfigRaw: sourceInputs.tsconfigRaw, target: "es2022" } : {}),
banner: { js: 'import { createRequire as __lingCreateRequire } from "node:module"; const require = __lingCreateRequire(import.meta.url);' },
plugins: [gstack.plugin, ...definitions.map(item => ({
plugins: [gstack.plugin, {
name: "build-owned-acp-sdk-version-literal",
setup(plugin) {
plugin.onLoad({ filter: /features[\\/]execution-engines[\\/]acp-sdk-version\.(?:ts|js)$/ }, async args => {
if (realpathSync(args.path) !== acpVersionModule) throw new Error("packaged_acp_sdk_version_module_changed");
if (++acpVersionVisits !== 1) throw new Error("packaged_acp_sdk_version_module_reloaded");
const source = sourceInputs ? sourceInputs.loadSource(acpVersionModule).contents : readFileSync(acpVersionModule, "utf8");
if (source.split(acpVersionMarker).length !== 2) throw new Error("packaged_acp_sdk_version_marker_changed");
const sdk = await plugin.resolve("@agentclientprotocol/sdk", {
resolveDir: resolve(desktopRoot, "../../packages/daemon"), kind: "import-statement",
});
if (sdk.errors.length || sdk.external || sdk.namespace !== "file" || !sdk.path) {
throw new Error("packaged_acp_sdk_version_resolution_failed");
}
acpManifest = readBundledAcpSdkManifest(realpathSync(sdk.path));
return { contents: source.replace(acpVersionMarker,
`const embeddedBundledAcpSdkVersion${sourceInputs ? ": string" : ""} = ${JSON.stringify(acpManifest.version)};`),
loader: sourceInputs ? "ts" : "js", resolveDir: dirname(acpVersionModule) };
});
},
}, ...definitions.map(item => ({
name: `original-${item.name}-review-literal`,
setup(plugin) {
plugin.onLoad({ filter: sourceInputs ? new RegExp(item.suffix.source.replace("\\.js", "\\.ts")) : item.suffix }, args => {
Expand All @@ -221,6 +264,8 @@ async function buildOriginalDaemonBundle(codesignReceipt, officeReceipt, sourceI
})), ...(sourceInputs ? [sourceInputs.plugin] : [])],
});
const originalOutput = officeReceipt ? pinOriginalBuildOutput(result) : undefined;
if (acpVersionVisits !== 1) throw new Error("packaged_acp_sdk_version_not_bundled");
if (readFileSync(acpManifest.path, "utf8") !== acpManifest.contents) throw new Error("packaged_acp_sdk_version_manifest_changed");
gstack.assertIncluded();
sourceInputs?.assertOriginalInputs(result);
for (const item of definitions) {
Expand Down
Loading
Loading