@eyeauras/insight-cli 0.1.0 → 0.2.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.
- package/.cli-package-build.json +1 -1
- package/README.md +33 -2
- package/SKILL.md +38 -51
- package/dist/src/administration-results.js +1 -1
- package/dist/src/administration.d.ts +1 -1
- package/dist/src/administration.js +16 -2
- package/dist/src/binary.d.ts +3 -0
- package/dist/src/binary.js +74 -0
- package/dist/src/capture.d.ts +3 -0
- package/dist/src/capture.js +220 -0
- package/dist/src/cli.js +91 -14
- package/dist/src/contexts.d.ts +5 -0
- package/dist/src/contexts.js +54 -18
- package/dist/src/debugger-caller.d.ts +17 -0
- package/dist/src/debugger-caller.js +129 -0
- package/dist/src/debugger-launch.d.ts +2 -0
- package/dist/src/debugger-launch.js +17 -0
- package/dist/src/debugger-results.d.ts +1 -0
- package/dist/src/debugger-results.js +8 -0
- package/dist/src/debugger-supervisor.js +56 -13
- package/dist/src/debugger.js +16 -7
- package/dist/src/die.d.ts +12 -0
- package/dist/src/die.js +127 -0
- package/dist/src/dnspy-runtime.d.ts +8 -0
- package/dist/src/dnspy-runtime.js +46 -0
- package/dist/src/dnspy.d.ts +22 -0
- package/dist/src/dnspy.js +160 -0
- package/dist/src/dotnet-diagnostics.d.ts +13 -0
- package/dist/src/dotnet-diagnostics.js +101 -0
- package/dist/src/frida-worker.d.ts +1 -0
- package/dist/src/frida-worker.js +125 -0
- package/dist/src/frida.d.ts +16 -0
- package/dist/src/frida.js +125 -0
- package/dist/src/ghidra-debugger-runtime.d.ts +7 -0
- package/dist/src/ghidra-debugger-runtime.js +31 -0
- package/dist/src/ghidra-processes.d.ts +6 -0
- package/dist/src/ghidra-processes.js +121 -0
- package/dist/src/ghidra.js +6 -6
- package/dist/src/ilspy.d.ts +7 -0
- package/dist/src/ilspy.js +122 -0
- package/dist/src/lifecycle.d.ts +1 -1
- package/dist/src/lifecycle.js +8 -2
- package/dist/src/lldb.d.ts +10 -0
- package/dist/src/lldb.js +99 -0
- package/dist/src/llvm.d.ts +6 -0
- package/dist/src/llvm.js +133 -0
- package/dist/src/managed-heap.d.ts +4 -0
- package/dist/src/managed-heap.js +73 -0
- package/dist/src/managed-metadata.d.ts +11 -0
- package/dist/src/managed-metadata.js +66 -0
- package/dist/src/mitmproxy.d.ts +55 -0
- package/dist/src/mitmproxy.js +172 -0
- package/dist/src/native-inputs.d.ts +3 -2
- package/dist/src/native-inputs.js +21 -5
- package/dist/src/package-version.d.ts +1 -0
- package/dist/src/package-version.js +3 -0
- package/dist/src/procmon-config.d.ts +2 -0
- package/dist/src/procmon-config.js +15 -0
- package/dist/src/procmon-events.d.ts +13 -0
- package/dist/src/procmon-events.js +82 -0
- package/dist/src/procmon.d.ts +4 -0
- package/dist/src/procmon.js +107 -0
- package/dist/src/research.d.ts +11 -2
- package/dist/src/research.js +5 -3
- package/dist/src/runtime-catalog.d.ts +13 -0
- package/dist/src/runtime-catalog.js +26 -0
- package/dist/src/runtime-manager.d.ts +125 -0
- package/dist/src/runtime-manager.js +385 -0
- package/dist/src/runtime-selection.d.ts +13 -0
- package/dist/src/runtime-selection.js +42 -0
- package/dist/src/server.d.ts +15 -0
- package/dist/src/server.js +77 -96
- package/dist/src/sevenzip.d.ts +15 -0
- package/dist/src/sevenzip.js +119 -0
- package/dist/src/strace.d.ts +10 -0
- package/dist/src/strace.js +71 -0
- package/dist/src/text-window.d.ts +11 -0
- package/dist/src/text-window.js +6 -0
- package/dist/src/tool-runtime/archives.d.ts +10 -0
- package/dist/src/tool-runtime/archives.js +194 -0
- package/dist/src/tool-runtime/catalog.d.ts +3 -0
- package/dist/src/tool-runtime/catalog.js +13 -0
- package/dist/src/tool-runtime/commands.d.ts +9 -0
- package/dist/src/tool-runtime/commands.js +39 -0
- package/dist/src/tool-runtime/deadline.d.ts +11 -0
- package/dist/src/tool-runtime/deadline.js +32 -0
- package/dist/src/tool-runtime/definition.d.ts +73 -0
- package/dist/src/tool-runtime/definition.js +49 -0
- package/dist/src/tool-runtime/dotnet.d.ts +4 -0
- package/dist/src/tool-runtime/dotnet.js +22 -0
- package/dist/src/tool-runtime/identity.d.ts +6 -0
- package/dist/src/tool-runtime/identity.js +50 -0
- package/dist/src/tool-runtime/installer.d.ts +101 -0
- package/dist/src/tool-runtime/installer.js +180 -0
- package/dist/src/tool-runtime/launch-worker.d.ts +1 -0
- package/dist/src/tool-runtime/launch-worker.js +58 -0
- package/dist/src/tool-runtime/run.d.ts +51 -0
- package/dist/src/tool-runtime/run.js +159 -0
- package/dist/src/tool-runtime/store.d.ts +15 -0
- package/dist/src/tool-runtime/store.js +219 -0
- package/dist/src/tool-runtime/supervisor.d.ts +57 -0
- package/dist/src/tool-runtime/supervisor.js +266 -0
- package/dist/src/tool-runtime/windows-job.d.ts +22 -0
- package/dist/src/tool-runtime/windows-job.js +43 -0
- package/dist/src/toolbox.d.ts +84 -0
- package/dist/src/toolbox.js +35 -0
- package/dist/src/tshark.d.ts +23 -0
- package/dist/src/tshark.js +174 -0
- package/dist/src/windbg.d.ts +14 -0
- package/dist/src/windbg.js +119 -0
- package/dist/src/workspace.d.ts +1 -0
- package/dist/src/workspace.js +6 -0
- package/package.json +7 -4
- package/references/administration.md +2 -1
- package/references/agent-execution.md +36 -0
- package/references/agent-setup.md +61 -0
- package/references/artifacts.md +5 -0
- package/references/debugger.md +22 -0
- package/references/ilspy.md +33 -0
- package/references/managed-runtime.md +157 -0
- package/references/native/InsightPythonWheels.java +283 -2
- package/references/native/InsightRuntimeDoctor.java +33 -0
- package/references/native/InsightTraceState.java +28 -13
- package/references/setup.md +6 -3
- package/runtime/managed/insight-heap/Azure.Core.dll +0 -0
- package/runtime/managed/insight-heap/Azure.Identity.dll +0 -0
- package/runtime/managed/insight-heap/Insight.Heap.csproj +1 -0
- package/runtime/managed/insight-heap/Insight.Heap.deps.json +391 -0
- package/runtime/managed/insight-heap/Insight.Heap.dll +0 -0
- package/runtime/managed/insight-heap/Insight.Heap.runtimeconfig.json +13 -0
- package/runtime/managed/insight-heap/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Diagnostics.NETCore.Client.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Diagnostics.Runtime.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Options.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Primitives.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Identity.Client.Extensions.Msal.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Identity.Client.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.IdentityModel.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Security.AntiSSRF.dll +0 -0
- package/runtime/managed/insight-heap/NuGet.Config +1 -0
- package/runtime/managed/insight-heap/Program.cs +20 -0
- package/runtime/managed/insight-heap/README.md +16 -0
- package/runtime/managed/insight-heap/System.ClientModel.dll +0 -0
- package/runtime/managed/insight-heap/System.Memory.Data.dll +0 -0
- package/runtime/managed/insight-heap/System.Security.Cryptography.ProtectedData.dll +0 -0
- package/runtime/managed/insight-heap/dependencies.json +436 -0
- package/runtime/managed/insight-heap/notices/Azure.Core-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Azure.Identity-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.NETCore.Client-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.Runtime-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client.Extensions.Msal-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.IdentityModel.Abstractions-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Security.AntiSSRF-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/System.ClientModel-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/System.Memory.Data-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/System.Memory.Data-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-LICENSE.TXT +23 -0
- package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-THIRD-PARTY-NOTICES.TXT +309 -0
- package/runtime/managed/insight-heap/packages.lock.json +165 -0
- package/runtime/managed/insight-heap/provenance.json +146 -0
- package/runtime/managed/insight-heap/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll +0 -0
- package/runtime/managed/insight-managed/Insight.Managed.csproj +4 -0
- package/runtime/managed/insight-managed/Insight.Managed.deps.json +41 -0
- package/runtime/managed/insight-managed/Insight.Managed.dll +0 -0
- package/runtime/managed/insight-managed/Insight.Managed.runtimeconfig.json +13 -0
- package/runtime/managed/insight-managed/LICENSE.dnlib.txt +20 -0
- package/runtime/managed/insight-managed/NuGet.Config +1 -0
- package/runtime/managed/insight-managed/Program.cs +31 -0
- package/runtime/managed/insight-managed/README.md +16 -0
- package/runtime/managed/insight-managed/dnlib.dll +0 -0
- package/runtime/managed/insight-managed/packages.lock.json +13 -0
- package/runtime/managed/insight-managed/provenance.json +40 -0
- package/runtime/native/binary/README.md +22 -0
- package/runtime/native/binary/dependencies.json +166 -0
- package/runtime/native/binary/helper.cpp +44 -0
- package/runtime/native/binary/insight-binary-darwin-arm64 +0 -0
- package/runtime/native/binary/notices/Catch2-3.12.0--Catch2-3.12.0__LICENSE.txt +23 -0
- package/runtime/native/binary/notices/LIEF-LICENSE.txt +202 -0
- package/runtime/native/binary/notices/LIEF-attribution.txt +37 -0
- package/runtime/native/binary/notices/Melkor_ELF_Fuzzer-ac2495b--elf_fuzzer-master__LICENSE.txt +674 -0
- package/runtime/native/binary/notices/expected-1.3.1--expected-1.3.1__COPYING +121 -0
- package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__AUTHORS +3 -0
- package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__LICENSE +202 -0
- package/runtime/native/binary/notices/json-LICENSE.MIT +21 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--LICENSE +553 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--framework__LICENSE +553 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__LICENSE +552 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__framework__LICENSE +553 -0
- package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--LICENSE +26 -0
- package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--ext__robin_map__LICENSE +21 -0
- package/runtime/native/binary/notices/span-LICENSE_1_0.txt +23 -0
- package/runtime/native/binary/notices/span-attribution.txt +11 -0
- package/runtime/native/binary/notices/spdlog-1.17.0--spdlog-1.17.0__LICENSE +25 -0
- package/runtime/native/binary/notices/utfcpp-4.0.9--utfcpp-4.0.9__LICENSE +23 -0
- package/runtime/native/binary/provenance.json +48 -0
- package/runtime/native/child-deadline-linux-x64 +0 -0
- package/runtime/native/child-deadline-linux.c +24 -0
- package/runtime/native/child-deadline-linux.provenance.json +17 -0
- package/runtime/native/deadline-alarm-darwin-universal.dylib +0 -0
- package/runtime/native/deadline-alarm.c +33 -0
- package/runtime/native/deadline-alarm.provenance.json +22 -0
- package/runtime/native/deadline-exec-darwin-arm64 +0 -0
- package/runtime/native/deadline-exec.c +24 -0
- package/runtime/native/deadline-exec.provenance.json +17 -0
- package/runtime/native/dnspy-extension/Bridge.cs +58 -0
- package/runtime/native/dnspy-extension/Insight.DnSpy.csproj +13 -0
- package/runtime/native/dnspy-extension/Insight.DnSpy.x.dll +0 -0
- package/runtime/native/dnspy-extension/NuGet.Config +1 -0
- package/runtime/native/dnspy-extension/UNICODE-LOADER.md +26 -0
- package/runtime/native/dnspy-extension/packages.lock.json +6 -0
- package/runtime/native/dnspy-extension/provenance.json +27 -0
- package/runtime/native/dnspy-extension/upstream-public-build.snk +0 -0
- package/runtime/native/dnspy-extension/vendor-files.json +4341 -0
- package/runtime/native/file-version.ps1 +7 -0
- package/runtime/native/insight-registry-win-x64.dll +0 -0
- package/runtime/native/mitmproxy/bridge.py +180 -0
- package/runtime/native/mitmproxy/notices.json +476 -0
- package/runtime/native/sources/detours-LICENSE.md +23 -0
- package/runtime/native/sources/detours-e4bfd6b.tar.gz +0 -0
- package/runtime/native/sources/detours-provenance.json +10 -0
- package/runtime/native/tshark-layout.json +2247 -0
- package/runtime/native/windows-job/DirectoryAlias.cs +24 -0
- package/runtime/native/windows-job/Insight.WindowsJob.csproj +1 -0
- package/runtime/native/windows-job/Insight.WindowsJob.dll +0 -0
- package/runtime/native/windows-job/NuGet.Config +1 -0
- package/runtime/native/windows-job/OwnedJob.cs +79 -0
- package/runtime/native/windows-job/RegistryRedirect.cs +45 -0
- package/runtime/native/windows-job/packages.lock.json +21 -0
- package/runtime/native/windows-job/provenance.json +16 -0
- package/runtime/native/windows-job/windows-job.ps1 +8 -0
- package/runtime/native/windows-registry.c +21 -0
- package/runtime/native/windows-registry.def +3 -0
- package/runtime/native/windows-registry.provenance.json +14 -0
- package/runtime/notices/diagnostics-10.0.750501.txt +23 -0
- package/runtime/tool-catalog.json +290 -0
- package/runtime/toolbox.json +1401 -0
- package/skill-bundle/insight-artifacts/SKILL.md +30 -0
- package/skill-bundle/insight-artifacts/references/agent-execution.md +36 -0
- package/skill-bundle/insight-artifacts/references/artifacts.md +52 -0
- package/skill-bundle/insight-binary/SKILL.md +46 -0
- package/skill-bundle/insight-binary/references/agent-execution.md +36 -0
- package/skill-bundle/insight-capture/SKILL.md +56 -0
- package/skill-bundle/insight-capture/references/agent-execution.md +36 -0
- package/skill-bundle/insight-cli/SKILL.md +42 -0
- package/skill-bundle/insight-cli/references/agent-execution.md +36 -0
- package/skill-bundle/insight-cli/references/agent-setup.md +61 -0
- package/skill-bundle/insight-die/SKILL.md +49 -0
- package/skill-bundle/insight-die/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dnspy/SKILL.md +65 -0
- package/skill-bundle/insight-dnspy/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dotnet-dump/SKILL.md +46 -0
- package/skill-bundle/insight-dotnet-dump/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dotnet-stack/SKILL.md +39 -0
- package/skill-bundle/insight-dotnet-stack/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dotnet-trace/SKILL.md +45 -0
- package/skill-bundle/insight-dotnet-trace/references/agent-execution.md +36 -0
- package/skill-bundle/insight-frida/SKILL.md +67 -0
- package/skill-bundle/insight-frida/references/agent-execution.md +36 -0
- package/skill-bundle/insight-ghidra/SKILL.md +91 -0
- package/skill-bundle/insight-ghidra/references/administration.md +34 -0
- package/skill-bundle/insight-ghidra/references/agent-execution.md +36 -0
- package/skill-bundle/insight-ghidra/references/archive.md +32 -0
- package/skill-bundle/insight-ghidra/references/artifacts.md +52 -0
- package/skill-bundle/insight-ghidra/references/debugger.md +62 -0
- package/skill-bundle/insight-ghidra/references/extensions-and-sync.md +124 -0
- package/skill-bundle/insight-ghidra/references/managed-runtime.md +157 -0
- package/skill-bundle/insight-ghidra/references/native-workflows.md +112 -0
- package/skill-bundle/insight-ghidra/references/query-semantics.md +96 -0
- package/skill-bundle/insight-ghidra/references/recovery.md +53 -0
- package/skill-bundle/insight-ghidra/references/research.md +101 -0
- package/skill-bundle/insight-ghidra/references/setup.md +50 -0
- package/skill-bundle/insight-ilspy/SKILL.md +45 -0
- package/skill-bundle/insight-ilspy/references/agent-execution.md +36 -0
- package/skill-bundle/insight-ilspy/references/ilspy.md +33 -0
- package/skill-bundle/insight-interop/SKILL.md +54 -0
- package/skill-bundle/insight-interop/references/agent-execution.md +36 -0
- package/skill-bundle/insight-lldb/SKILL.md +54 -0
- package/skill-bundle/insight-lldb/references/agent-execution.md +36 -0
- package/skill-bundle/insight-llvm/SKILL.md +56 -0
- package/skill-bundle/insight-llvm/references/agent-execution.md +36 -0
- package/skill-bundle/insight-managed-heap/SKILL.md +43 -0
- package/skill-bundle/insight-managed-heap/references/agent-execution.md +36 -0
- package/skill-bundle/insight-managed-metadata/SKILL.md +52 -0
- package/skill-bundle/insight-managed-metadata/references/agent-execution.md +36 -0
- package/skill-bundle/insight-mitmproxy/SKILL.md +62 -0
- package/skill-bundle/insight-mitmproxy/references/agent-execution.md +36 -0
- package/skill-bundle/insight-overview/SKILL.md +79 -0
- package/skill-bundle/insight-overview/references/agent-execution.md +36 -0
- package/skill-bundle/insight-procmon/SKILL.md +49 -0
- package/skill-bundle/insight-procmon/references/agent-execution.md +36 -0
- package/skill-bundle/insight-re/SKILL.md +121 -0
- package/skill-bundle/insight-re/references/agent-execution.md +36 -0
- package/skill-bundle/insight-re/references/artifacts.md +52 -0
- package/skill-bundle/insight-re/references/recovery.md +53 -0
- package/skill-bundle/insight-sevenzip/SKILL.md +42 -0
- package/skill-bundle/insight-sevenzip/references/agent-execution.md +36 -0
- package/skill-bundle/insight-strace/SKILL.md +46 -0
- package/skill-bundle/insight-strace/references/agent-execution.md +36 -0
- package/skill-bundle/insight-tshark/SKILL.md +49 -0
- package/skill-bundle/insight-tshark/references/agent-execution.md +36 -0
- package/skill-bundle/insight-windbg/SKILL.md +46 -0
- package/skill-bundle/insight-windbg/references/agent-execution.md +36 -0
- package/skill-bundle/manifest.json +32 -0
- package/skills/insight-artifacts/SKILL.md +30 -0
- package/skills/insight-artifacts/references/agent-execution.md +36 -0
- package/skills/insight-artifacts/references/artifacts.md +52 -0
- package/skills/insight-binary/SKILL.md +46 -0
- package/skills/insight-binary/references/agent-execution.md +36 -0
- package/skills/insight-capture/SKILL.md +56 -0
- package/skills/insight-capture/references/agent-execution.md +36 -0
- package/skills/insight-die/SKILL.md +49 -0
- package/skills/insight-die/references/agent-execution.md +36 -0
- package/skills/insight-dnspy/SKILL.md +65 -0
- package/skills/insight-dnspy/references/agent-execution.md +36 -0
- package/skills/insight-dotnet-dump/SKILL.md +46 -0
- package/skills/insight-dotnet-dump/references/agent-execution.md +36 -0
- package/skills/insight-dotnet-stack/SKILL.md +39 -0
- package/skills/insight-dotnet-stack/references/agent-execution.md +36 -0
- package/skills/insight-dotnet-trace/SKILL.md +45 -0
- package/skills/insight-dotnet-trace/references/agent-execution.md +36 -0
- package/skills/insight-frida/SKILL.md +67 -0
- package/skills/insight-frida/references/agent-execution.md +36 -0
- package/skills/insight-ghidra/SKILL.md +91 -0
- package/skills/insight-ghidra/references/administration.md +34 -0
- package/skills/insight-ghidra/references/agent-execution.md +36 -0
- package/skills/insight-ghidra/references/archive.md +32 -0
- package/skills/insight-ghidra/references/artifacts.md +52 -0
- package/skills/insight-ghidra/references/debugger.md +62 -0
- package/skills/insight-ghidra/references/extensions-and-sync.md +124 -0
- package/skills/insight-ghidra/references/managed-runtime.md +157 -0
- package/skills/insight-ghidra/references/native-workflows.md +112 -0
- package/skills/insight-ghidra/references/query-semantics.md +96 -0
- package/skills/insight-ghidra/references/recovery.md +53 -0
- package/skills/insight-ghidra/references/research.md +101 -0
- package/skills/insight-ghidra/references/setup.md +50 -0
- package/skills/insight-ilspy/SKILL.md +45 -0
- package/skills/insight-ilspy/references/agent-execution.md +36 -0
- package/skills/insight-ilspy/references/ilspy.md +33 -0
- package/skills/insight-interop/SKILL.md +54 -0
- package/skills/insight-interop/references/agent-execution.md +36 -0
- package/skills/insight-lldb/SKILL.md +54 -0
- package/skills/insight-lldb/references/agent-execution.md +36 -0
- package/skills/insight-llvm/SKILL.md +56 -0
- package/skills/insight-llvm/references/agent-execution.md +36 -0
- package/skills/insight-managed-heap/SKILL.md +43 -0
- package/skills/insight-managed-heap/references/agent-execution.md +36 -0
- package/skills/insight-managed-metadata/SKILL.md +52 -0
- package/skills/insight-managed-metadata/references/agent-execution.md +36 -0
- package/skills/insight-mitmproxy/SKILL.md +62 -0
- package/skills/insight-mitmproxy/references/agent-execution.md +36 -0
- package/skills/insight-overview/SKILL.md +79 -0
- package/skills/insight-overview/references/agent-execution.md +36 -0
- package/skills/insight-procmon/SKILL.md +49 -0
- package/skills/insight-procmon/references/agent-execution.md +36 -0
- package/skills/insight-re/SKILL.md +22 -9
- package/skills/insight-re/references/agent-execution.md +36 -0
- package/skills/insight-re/references/artifacts.md +52 -0
- package/skills/insight-re/references/recovery.md +53 -0
- package/skills/insight-sevenzip/SKILL.md +42 -0
- package/skills/insight-sevenzip/references/agent-execution.md +36 -0
- package/skills/insight-strace/SKILL.md +46 -0
- package/skills/insight-strace/references/agent-execution.md +36 -0
- package/skills/insight-tshark/SKILL.md +49 -0
- package/skills/insight-tshark/references/agent-execution.md +36 -0
- package/skills/insight-windbg/SKILL.md +46 -0
- package/skills/insight-windbg/references/agent-execution.md +36 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent host execution permissions
|
|
2
|
+
|
|
3
|
+
Keep the user/project host policy and the selected profile. A sandbox can deny writes
|
|
4
|
+
to runtime AppData or access to the local IPC endpoint, including during local help.
|
|
5
|
+
This is a host execution boundary, not evidence that the tool or its inputs are absent.
|
|
6
|
+
|
|
7
|
+
First retry only `insight-cli --help`, `tools list`, `skill`, or the selected application's
|
|
8
|
+
read-only `status` using the host's normal permission escalation. In Codex, use the
|
|
9
|
+
execution tool's `sandbox_permissions: "require_escalated"` with a scoped explanation
|
|
10
|
+
that the installed CLI needs its existing profile storage/local IPC. Automatic approval
|
|
11
|
+
review or the user decides that request; do not disable the sandbox or approval policy.
|
|
12
|
+
|
|
13
|
+
Do not work around this by changing HOME/AppData/profile paths, creating another host,
|
|
14
|
+
deleting owner/endpoint files, killing unrelated processes or claiming a missing runtime.
|
|
15
|
+
After the read-only probe succeeds, use the approved execution route for the intended
|
|
16
|
+
public CLI commands. An access refusal explicitly stating **no command was sent** is
|
|
17
|
+
known not dispatched; it is safe to submit that authorized command through the approved
|
|
18
|
+
route. This includes a mutation refused before dispatch. Do not mistake that definite
|
|
19
|
+
pre-dispatch refusal for an unknown execution outcome. Downloads still require their explicit
|
|
20
|
+
network access.
|
|
21
|
+
|
|
22
|
+
A lost mutation response is different from a denied startup probe: inspect retained
|
|
23
|
+
request/status/recovery evidence and use its request ID when supported. Never blindly
|
|
24
|
+
repeat a publication, script or program run whose outcome is unknown. External-tool
|
|
25
|
+
fallback is allowed by project rules, but record that the intended facade was not used
|
|
26
|
+
and do not invent a successful checkpoint or native result.
|
|
27
|
+
|
|
28
|
+
## Wait for the original execution
|
|
29
|
+
|
|
30
|
+
A tool operation may outlast the host execution tool's initial wait. A returned running
|
|
31
|
+
session/cell ID means that command is still in progress, not that the CLI returned no data.
|
|
32
|
+
Use the host's session poll/wait facility until terminal exit and consume stdout/stderr
|
|
33
|
+
before issuing a dependent command. In Codex, an `exec_command` session is continued with
|
|
34
|
+
`write_stdin`; a yielded execution cell uses that host's cell wait. Do not launch a second
|
|
35
|
+
open/install or repeat a CPU action just because the first chunk was empty. If the execution
|
|
36
|
+
really loses its terminal result, use the CLI's request/status recovery as described above.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: insight-dotnet-dump
|
|
3
|
+
description: Capture a managed heap dump or inspect compatible .NET dumps with SOS to recover waiting stacks, objects, fields and retention evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Insight .NET Dump 0.2.1
|
|
7
|
+
|
|
8
|
+
If local help/status reports AppData or IPC access denied, retry that **read-only probe**
|
|
9
|
+
with the agent host's normal permission escalation, then use that route for later authorized
|
|
10
|
+
CLI calls too. An explicit **no command was sent** denial is known undispatched and can be
|
|
11
|
+
retried through that route. Keep HOME, profile and owner state; see
|
|
12
|
+
[host execution permissions](references/agent-execution.md). A lost mutation reply needs
|
|
13
|
+
request/status recovery, never blind retry.
|
|
14
|
+
|
|
15
|
+
Start with `insight-cli dotnet-dump collect --pid PID --output research/worker.dmp`.
|
|
16
|
+
The default Heap dump includes managed objects; Mini may lack required heap data. Collection
|
|
17
|
+
has a deadline and accepts only a nonempty file below 4 GiB. It does not execute dump data.
|
|
18
|
+
|
|
19
|
+
Use `analyze FILE --command clrthreads` or `--command clrstack` for thread context, then
|
|
20
|
+
`--command 'dumpheap -type TYPE'` to locate objects and `--command 'dumpobj ADDRESS'` for
|
|
21
|
+
fields. Reuse the returned `--target ID` instead of a file. `gcroot ADDRESS` can investigate
|
|
22
|
+
retention. Interpret the actual output: an empty type selection, unavailable DAC or SOS error
|
|
23
|
+
is not evidence that the requested object was found. Addresses belong to that dump only.
|
|
24
|
+
Use `--command 'help dumpheap'` for native SOS query syntax.
|
|
25
|
+
The API accepts one supported inspection command; it does not expose arbitrary debugger
|
|
26
|
+
scripts, chaining, symbol-server configuration or execution. Keep static object snapshots
|
|
27
|
+
separate from claims about current live state.
|
|
28
|
+
|
|
29
|
+
Use the existing project RE instructions and evidence format. `status` checks readiness;
|
|
30
|
+
`install` prepares the pinned tool and private .NET 10.0.13 from our GitHub Releases.
|
|
31
|
+
`--archive`, `--dotnet-archive` and `--offline` support local preparation; `--executable`
|
|
32
|
+
selects a compatible external tool, whose runtime/dependency closure remains user-managed.
|
|
33
|
+
Managed admission is macOS ARM64. A native compatible runtime/DAC is required for dump
|
|
34
|
+
inspection; a Windows dump is not promised readable on macOS.
|
|
35
|
+
|
|
36
|
+
Live commands require an explicit `--pid`. The selected process remains external: the CLI
|
|
37
|
+
owns its collector, not that target's lifetime. Use the PID supplied for this investigation;
|
|
38
|
+
process birth is checked around collection, with the reported OS identity strength. If the
|
|
39
|
+
process uses a custom TMPDIR, pass `--diagnostic-directory` with that directory. Do not
|
|
40
|
+
infer target ownership from a successful attachment or stop another agent's process.
|
|
41
|
+
|
|
42
|
+
Text views page with `--limit`/`--offset`; `--output FILE` retains complete bounded text in
|
|
43
|
+
a new ordinary file. Native text has a 4-MiB output bound; an output-limit error is not a
|
|
44
|
+
complete inventory. Save finished project files/folders with `artifacts save` when useful.
|
|
45
|
+
`tools processes --tool dotnet-dump --all` and `show ID` retain collector diagnostics. Update
|
|
46
|
+
permission is required. Generated `--help` owns exact syntax. Uninstall preserves research.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent host execution permissions
|
|
2
|
+
|
|
3
|
+
Keep the user/project host policy and the selected profile. A sandbox can deny writes
|
|
4
|
+
to runtime AppData or access to the local IPC endpoint, including during local help.
|
|
5
|
+
This is a host execution boundary, not evidence that the tool or its inputs are absent.
|
|
6
|
+
|
|
7
|
+
First retry only `insight-cli --help`, `tools list`, `skill`, or the selected application's
|
|
8
|
+
read-only `status` using the host's normal permission escalation. In Codex, use the
|
|
9
|
+
execution tool's `sandbox_permissions: "require_escalated"` with a scoped explanation
|
|
10
|
+
that the installed CLI needs its existing profile storage/local IPC. Automatic approval
|
|
11
|
+
review or the user decides that request; do not disable the sandbox or approval policy.
|
|
12
|
+
|
|
13
|
+
Do not work around this by changing HOME/AppData/profile paths, creating another host,
|
|
14
|
+
deleting owner/endpoint files, killing unrelated processes or claiming a missing runtime.
|
|
15
|
+
After the read-only probe succeeds, use the approved execution route for the intended
|
|
16
|
+
public CLI commands. An access refusal explicitly stating **no command was sent** is
|
|
17
|
+
known not dispatched; it is safe to submit that authorized command through the approved
|
|
18
|
+
route. This includes a mutation refused before dispatch. Do not mistake that definite
|
|
19
|
+
pre-dispatch refusal for an unknown execution outcome. Downloads still require their explicit
|
|
20
|
+
network access.
|
|
21
|
+
|
|
22
|
+
A lost mutation response is different from a denied startup probe: inspect retained
|
|
23
|
+
request/status/recovery evidence and use its request ID when supported. Never blindly
|
|
24
|
+
repeat a publication, script or program run whose outcome is unknown. External-tool
|
|
25
|
+
fallback is allowed by project rules, but record that the intended facade was not used
|
|
26
|
+
and do not invent a successful checkpoint or native result.
|
|
27
|
+
|
|
28
|
+
## Wait for the original execution
|
|
29
|
+
|
|
30
|
+
A tool operation may outlast the host execution tool's initial wait. A returned running
|
|
31
|
+
session/cell ID means that command is still in progress, not that the CLI returned no data.
|
|
32
|
+
Use the host's session poll/wait facility until terminal exit and consume stdout/stderr
|
|
33
|
+
before issuing a dependent command. In Codex, an `exec_command` session is continued with
|
|
34
|
+
`write_stdin`; a yielded execution cell uses that host's cell wait. Do not launch a second
|
|
35
|
+
open/install or repeat a CPU action just because the first chunk was empty. If the execution
|
|
36
|
+
really loses its terminal result, use the CLI's request/status recovery as described above.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: insight-dotnet-stack
|
|
3
|
+
description: Inspect live managed thread stacks to identify active or waiting work in an explicitly selected .NET process without taking a dump.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Insight .NET Stack 0.2.1
|
|
7
|
+
|
|
8
|
+
If local help/status reports AppData or IPC access denied, retry that **read-only probe**
|
|
9
|
+
with the agent host's normal permission escalation, then use that route for later authorized
|
|
10
|
+
CLI calls too. An explicit **no command was sent** denial is known undispatched and can be
|
|
11
|
+
retried through that route. Keep HOME, profile and owner state; see
|
|
12
|
+
[host execution permissions](references/agent-execution.md). A lost mutation reply needs
|
|
13
|
+
request/status recovery, never blind retry.
|
|
14
|
+
|
|
15
|
+
Use `insight-cli dotnet-stack report --pid PID` for a lightweight live stack snapshot.
|
|
16
|
+
Inspect the managed callers around native wait/sleep frames: a wait identifies where a
|
|
17
|
+
thread was sampled, not by itself why an application is stalled. Keep PID/birth, capture
|
|
18
|
+
time and relevant frame names in the project evidence. Different snapshots may legitimately
|
|
19
|
+
differ. Use dotnet-dump for object/field questions and dotnet-trace for a bounded view over
|
|
20
|
+
time instead of presenting one stack snapshot as a performance measurement.
|
|
21
|
+
|
|
22
|
+
Use the existing project RE instructions and evidence format. `status` checks readiness;
|
|
23
|
+
`install` prepares the pinned tool and private .NET 10.0.13 from our GitHub Releases.
|
|
24
|
+
`--archive`, `--dotnet-archive` and `--offline` support local preparation; `--executable`
|
|
25
|
+
selects a compatible external tool, whose runtime/dependency closure remains user-managed.
|
|
26
|
+
Managed admission is macOS ARM64. A native compatible runtime/DAC is required for dump
|
|
27
|
+
inspection; a Windows dump is not promised readable on macOS.
|
|
28
|
+
|
|
29
|
+
Live commands require an explicit `--pid`. The selected process remains external: the CLI
|
|
30
|
+
owns its collector, not that target's lifetime. Use the PID supplied for this investigation;
|
|
31
|
+
process birth is checked around collection, with the reported OS identity strength. If the
|
|
32
|
+
process uses a custom TMPDIR, pass `--diagnostic-directory` with that directory. Do not
|
|
33
|
+
infer target ownership from a successful attachment or stop another agent's process.
|
|
34
|
+
|
|
35
|
+
Text views page with `--limit`/`--offset`; `--output FILE` retains complete bounded text in
|
|
36
|
+
a new ordinary file. Native text has a 4-MiB output bound; an output-limit error is not a
|
|
37
|
+
complete inventory. Save finished project files/folders with `artifacts save` when useful.
|
|
38
|
+
`tools processes --tool dotnet-stack --all` and `show ID` retain collector diagnostics. Update
|
|
39
|
+
permission is required. Generated `--help` owns exact syntax. Uninstall preserves research.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent host execution permissions
|
|
2
|
+
|
|
3
|
+
Keep the user/project host policy and the selected profile. A sandbox can deny writes
|
|
4
|
+
to runtime AppData or access to the local IPC endpoint, including during local help.
|
|
5
|
+
This is a host execution boundary, not evidence that the tool or its inputs are absent.
|
|
6
|
+
|
|
7
|
+
First retry only `insight-cli --help`, `tools list`, `skill`, or the selected application's
|
|
8
|
+
read-only `status` using the host's normal permission escalation. In Codex, use the
|
|
9
|
+
execution tool's `sandbox_permissions: "require_escalated"` with a scoped explanation
|
|
10
|
+
that the installed CLI needs its existing profile storage/local IPC. Automatic approval
|
|
11
|
+
review or the user decides that request; do not disable the sandbox or approval policy.
|
|
12
|
+
|
|
13
|
+
Do not work around this by changing HOME/AppData/profile paths, creating another host,
|
|
14
|
+
deleting owner/endpoint files, killing unrelated processes or claiming a missing runtime.
|
|
15
|
+
After the read-only probe succeeds, use the approved execution route for the intended
|
|
16
|
+
public CLI commands. An access refusal explicitly stating **no command was sent** is
|
|
17
|
+
known not dispatched; it is safe to submit that authorized command through the approved
|
|
18
|
+
route. This includes a mutation refused before dispatch. Do not mistake that definite
|
|
19
|
+
pre-dispatch refusal for an unknown execution outcome. Downloads still require their explicit
|
|
20
|
+
network access.
|
|
21
|
+
|
|
22
|
+
A lost mutation response is different from a denied startup probe: inspect retained
|
|
23
|
+
request/status/recovery evidence and use its request ID when supported. Never blindly
|
|
24
|
+
repeat a publication, script or program run whose outcome is unknown. External-tool
|
|
25
|
+
fallback is allowed by project rules, but record that the intended facade was not used
|
|
26
|
+
and do not invent a successful checkpoint or native result.
|
|
27
|
+
|
|
28
|
+
## Wait for the original execution
|
|
29
|
+
|
|
30
|
+
A tool operation may outlast the host execution tool's initial wait. A returned running
|
|
31
|
+
session/cell ID means that command is still in progress, not that the CLI returned no data.
|
|
32
|
+
Use the host's session poll/wait facility until terminal exit and consume stdout/stderr
|
|
33
|
+
before issuing a dependent command. In Codex, an `exec_command` session is continued with
|
|
34
|
+
`write_stdin`; a yielded execution cell uses that host's cell wait. Do not launch a second
|
|
35
|
+
open/install or repeat a CPU action just because the first chunk was empty. If the execution
|
|
36
|
+
really loses its terminal result, use the CLI's request/status recovery as described above.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: insight-dotnet-trace
|
|
3
|
+
description: Collect and inspect bounded .NET EventPipe traces to identify sampled thread work, waits or runtime activity; distinguish wall-clock samples from CPU consumption.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Insight .NET Trace 0.2.1
|
|
7
|
+
|
|
8
|
+
If local help/status reports AppData or IPC access denied, retry that **read-only probe**
|
|
9
|
+
with the agent host's normal permission escalation, then use that route for later authorized
|
|
10
|
+
CLI calls too. An explicit **no command was sent** denial is known undispatched and can be
|
|
11
|
+
retried through that route. Keep HOME, profile and owner state; see
|
|
12
|
+
[host execution permissions](references/agent-execution.md). A lost mutation reply needs
|
|
13
|
+
request/status recovery, never blind retry.
|
|
14
|
+
|
|
15
|
+
Use `insight-cli dotnet-trace collect --pid PID --duration-seconds 5 --output research/worker.nettrace`.
|
|
16
|
+
The default `dotnet-sampled-thread-time` profile measures sampled thread wall-clock time.
|
|
17
|
+
A sleeping method can rank at 100% while consuming little CPU. This API does not use the
|
|
18
|
+
Linux-only `cpu-sampling` kernel profile. Other declared EventPipe profiles cover common
|
|
19
|
+
runtime or GC events; a trace without sample events need not have a useful method ranking.
|
|
20
|
+
|
|
21
|
+
Use `report FILE --count 10` for inclusive method ranking (`--exclusive` changes the metric).
|
|
22
|
+
Reuse `--target ID` for captured immutable bytes. `convert FILE --format Speedscope --output
|
|
23
|
+
research/worker.speedscope.json` creates a new ordinary JSON export; Chromium is also supported.
|
|
24
|
+
Preserve the original trace, profile, duration, target identity and collection conditions.
|
|
25
|
+
Limited/dropped samples and startup/rundown overhead constrain inference; do not call this a
|
|
26
|
+
CPU speedup benchmark merely because a report contains percentages.
|
|
27
|
+
|
|
28
|
+
Use the existing project RE instructions and evidence format. `status` checks readiness;
|
|
29
|
+
`install` prepares the pinned tool and private .NET 10.0.13 from our GitHub Releases.
|
|
30
|
+
`--archive`, `--dotnet-archive` and `--offline` support local preparation; `--executable`
|
|
31
|
+
selects a compatible external tool, whose runtime/dependency closure remains user-managed.
|
|
32
|
+
Managed admission is macOS ARM64. A native compatible runtime/DAC is required for dump
|
|
33
|
+
inspection; a Windows dump is not promised readable on macOS.
|
|
34
|
+
|
|
35
|
+
Live commands require an explicit `--pid`. The selected process remains external: the CLI
|
|
36
|
+
owns its collector, not that target's lifetime. Use the PID supplied for this investigation;
|
|
37
|
+
process birth is checked around collection, with the reported OS identity strength. If the
|
|
38
|
+
process uses a custom TMPDIR, pass `--diagnostic-directory` with that directory. Do not
|
|
39
|
+
infer target ownership from a successful attachment or stop another agent's process.
|
|
40
|
+
|
|
41
|
+
Text views page with `--limit`/`--offset`; `--output FILE` retains complete bounded text in
|
|
42
|
+
a new ordinary file. Native text has a 4-MiB output bound; an output-limit error is not a
|
|
43
|
+
complete inventory. Save finished project files/folders with `artifacts save` when useful.
|
|
44
|
+
`tools processes --tool dotnet-trace --all` and `show ID` retain collector diagnostics. Update
|
|
45
|
+
permission is required. Generated `--help` owns exact syntax. Uninstall preserves research.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent host execution permissions
|
|
2
|
+
|
|
3
|
+
Keep the user/project host policy and the selected profile. A sandbox can deny writes
|
|
4
|
+
to runtime AppData or access to the local IPC endpoint, including during local help.
|
|
5
|
+
This is a host execution boundary, not evidence that the tool or its inputs are absent.
|
|
6
|
+
|
|
7
|
+
First retry only `insight-cli --help`, `tools list`, `skill`, or the selected application's
|
|
8
|
+
read-only `status` using the host's normal permission escalation. In Codex, use the
|
|
9
|
+
execution tool's `sandbox_permissions: "require_escalated"` with a scoped explanation
|
|
10
|
+
that the installed CLI needs its existing profile storage/local IPC. Automatic approval
|
|
11
|
+
review or the user decides that request; do not disable the sandbox or approval policy.
|
|
12
|
+
|
|
13
|
+
Do not work around this by changing HOME/AppData/profile paths, creating another host,
|
|
14
|
+
deleting owner/endpoint files, killing unrelated processes or claiming a missing runtime.
|
|
15
|
+
After the read-only probe succeeds, use the approved execution route for the intended
|
|
16
|
+
public CLI commands. An access refusal explicitly stating **no command was sent** is
|
|
17
|
+
known not dispatched; it is safe to submit that authorized command through the approved
|
|
18
|
+
route. This includes a mutation refused before dispatch. Do not mistake that definite
|
|
19
|
+
pre-dispatch refusal for an unknown execution outcome. Downloads still require their explicit
|
|
20
|
+
network access.
|
|
21
|
+
|
|
22
|
+
A lost mutation response is different from a denied startup probe: inspect retained
|
|
23
|
+
request/status/recovery evidence and use its request ID when supported. Never blindly
|
|
24
|
+
repeat a publication, script or program run whose outcome is unknown. External-tool
|
|
25
|
+
fallback is allowed by project rules, but record that the intended facade was not used
|
|
26
|
+
and do not invent a successful checkpoint or native result.
|
|
27
|
+
|
|
28
|
+
## Wait for the original execution
|
|
29
|
+
|
|
30
|
+
A tool operation may outlast the host execution tool's initial wait. A returned running
|
|
31
|
+
session/cell ID means that command is still in progress, not that the CLI returned no data.
|
|
32
|
+
Use the host's session poll/wait facility until terminal exit and consume stdout/stderr
|
|
33
|
+
before issuing a dependent command. In Codex, an `exec_command` session is continued with
|
|
34
|
+
`write_stdin`; a yielded execution cell uses that host's cell wait. Do not launch a second
|
|
35
|
+
open/install or repeat a CPU action just because the first chunk was empty. If the execution
|
|
36
|
+
really loses its terminal result, use the CLI's request/status recovery as described above.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: insight-frida
|
|
3
|
+
description: Observe native call arguments/results or inspect runtime modules and exports in an explicitly selected authorized process with bounded Frida scripts. Use insight-cli frida to corroborate static findings with actual execution on macOS ARM64.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Insight Frida 0.2.1
|
|
7
|
+
|
|
8
|
+
If local help/status reports AppData or IPC access denied, retry that **read-only probe**
|
|
9
|
+
with the agent host's normal permission escalation, then use that route for later authorized
|
|
10
|
+
CLI calls too. An explicit **no command was sent** denial is known undispatched and can be
|
|
11
|
+
retried through that route. Keep HOME, profile and owner state; see
|
|
12
|
+
[host execution permissions](references/agent-execution.md). A lost mutation reply needs
|
|
13
|
+
request/status recovery, never blind retry.
|
|
14
|
+
|
|
15
|
+
Follow existing project RE and evidence conventions. Frida instruments a running process;
|
|
16
|
+
choose an explicitly authorized PID. This facade owns the collector, while the target stays
|
|
17
|
+
with its original owner. Stopping the collector never signals that target.
|
|
18
|
+
|
|
19
|
+
1. `insight-cli frida status --json` checks readiness. `frida install` obtains our pinned
|
|
20
|
+
Frida Node 17.24.0 bundle from GitHub Releases, including its NAPI-v8 binding, JavaScript
|
|
21
|
+
dependencies and full notices. It uses the CLI's Node runtime; Python is unnecessary.
|
|
22
|
+
Managed delivery requires macOS 14+ ARM64. `download`, `install --archive FILE --offline`,
|
|
23
|
+
`doctor` and `uninstall` use the shared lifecycle. An external compatible Node bundle can
|
|
24
|
+
be selected with `install --executable /path/to/frida/build/src/frida.js`; adjacent binding
|
|
25
|
+
and resolved runtime dependency families are fingerprinted and never deleted.
|
|
26
|
+
2. `frida modules --pid PID --json` establishes runtime module names and load addresses.
|
|
27
|
+
`frida exports --pid PID --module NAME --json` narrows to one module. `--limit`/`--offset`
|
|
28
|
+
page records. Runtime pointers differ from static addresses under ASLR; establish module
|
|
29
|
+
and image correspondence before combining findings from Ghidra/LLVM with live evidence.
|
|
30
|
+
3. Write a focused ordinary JavaScript file using the [Frida JavaScript API](https://frida.re/docs/javascript-api/).
|
|
31
|
+
For a known integer-valued exported function, an observation hook can be:
|
|
32
|
+
|
|
33
|
+
```javascript
|
|
34
|
+
const at = Process.mainModule.getExportByName('quote_total');
|
|
35
|
+
Interceptor.attach(at, {
|
|
36
|
+
onEnter(args) { this.count = args[0].toInt32(); },
|
|
37
|
+
onLeave(value) { send({count: this.count, result: value.toInt32()}); }
|
|
38
|
+
});
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Match argument types, calling convention and module to the actual program. This example
|
|
42
|
+
is not a generic signature for every function. `frida observe --pid PID --script FILE
|
|
43
|
+
--duration-seconds 2 --output research/calls.json --json` captures the source bytes, loads
|
|
44
|
+
it, collects messages, requests unload and detaches. The output records the source hash,
|
|
45
|
+
runtime version, original PID/birth, native diagnostics and cleanup acknowledgment.
|
|
46
|
+
4. Inspect `complete`, `state`, script errors and cleanup fields. Script errors or early
|
|
47
|
+
target detach produce partial evidence. No observed call does not prove absence. Ordinary
|
|
48
|
+
`send`/console/error messages and optional binary payloads are retained. `--limit`/`--offset`
|
|
49
|
+
page event messages; `--output` saves the full bounded envelope to a new ordinary file and
|
|
50
|
+
creates parents. Use `artifacts save` for a checkpoint when useful.
|
|
51
|
+
Both the response and saved envelope include `summary`: total protocol events and counts
|
|
52
|
+
of script send/error/log messages. A send message is not universally a call. Derive call
|
|
53
|
+
counts from the retained payload type selected by your hook; do not count runtime,
|
|
54
|
+
loaded or completed receipts as calls or estimate counts by reading a long event list.
|
|
55
|
+
5. The observation window is 1–120 seconds; collector execution has a separate finite deadline
|
|
56
|
+
that survives owner loss. Native SDK helpers have their own inherited deadlines; status
|
|
57
|
+
remains `native_children_pending` and uninstall is blocked until they exit. Native output is bounded to 4 MiB and 10000 messages. Arbitrary
|
|
58
|
+
script patches or application side effects are not automatically rolled back by unload.
|
|
59
|
+
Avoid unnecessarily broad hooks and large payloads. `tools processes --tool frida --all`
|
|
60
|
+
shows owned collector history. A recovered live macOS PID may be unverified: wait for the
|
|
61
|
+
deadline and inspect retained evidence instead of replaying an injection blindly.
|
|
62
|
+
|
|
63
|
+
The pinned backend has a known attach failure on a bare C process without CoreFoundation;
|
|
64
|
+
our native probe reproduces it explicitly. A process already loading CoreFoundation worked.
|
|
65
|
+
Report the failure and choose a suitable debugger/fixture; do not silently load frameworks
|
|
66
|
+
into an unrelated process. macOS authorization/hardened targets can also prevent attach.
|
|
67
|
+
An imported PE is not a runnable local macOS process. Generated help owns exact syntax.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent host execution permissions
|
|
2
|
+
|
|
3
|
+
Keep the user/project host policy and the selected profile. A sandbox can deny writes
|
|
4
|
+
to runtime AppData or access to the local IPC endpoint, including during local help.
|
|
5
|
+
This is a host execution boundary, not evidence that the tool or its inputs are absent.
|
|
6
|
+
|
|
7
|
+
First retry only `insight-cli --help`, `tools list`, `skill`, or the selected application's
|
|
8
|
+
read-only `status` using the host's normal permission escalation. In Codex, use the
|
|
9
|
+
execution tool's `sandbox_permissions: "require_escalated"` with a scoped explanation
|
|
10
|
+
that the installed CLI needs its existing profile storage/local IPC. Automatic approval
|
|
11
|
+
review or the user decides that request; do not disable the sandbox or approval policy.
|
|
12
|
+
|
|
13
|
+
Do not work around this by changing HOME/AppData/profile paths, creating another host,
|
|
14
|
+
deleting owner/endpoint files, killing unrelated processes or claiming a missing runtime.
|
|
15
|
+
After the read-only probe succeeds, use the approved execution route for the intended
|
|
16
|
+
public CLI commands. An access refusal explicitly stating **no command was sent** is
|
|
17
|
+
known not dispatched; it is safe to submit that authorized command through the approved
|
|
18
|
+
route. This includes a mutation refused before dispatch. Do not mistake that definite
|
|
19
|
+
pre-dispatch refusal for an unknown execution outcome. Downloads still require their explicit
|
|
20
|
+
network access.
|
|
21
|
+
|
|
22
|
+
A lost mutation response is different from a denied startup probe: inspect retained
|
|
23
|
+
request/status/recovery evidence and use its request ID when supported. Never blindly
|
|
24
|
+
repeat a publication, script or program run whose outcome is unknown. External-tool
|
|
25
|
+
fallback is allowed by project rules, but record that the intended facade was not used
|
|
26
|
+
and do not invent a successful checkpoint or native result.
|
|
27
|
+
|
|
28
|
+
## Wait for the original execution
|
|
29
|
+
|
|
30
|
+
A tool operation may outlast the host execution tool's initial wait. A returned running
|
|
31
|
+
session/cell ID means that command is still in progress, not that the CLI returned no data.
|
|
32
|
+
Use the host's session poll/wait facility until terminal exit and consume stdout/stderr
|
|
33
|
+
before issuing a dependent command. In Codex, an `exec_command` session is continued with
|
|
34
|
+
`write_stdin`; a yielded execution cell uses that host's cell wait. Do not launch a second
|
|
35
|
+
open/install or repeat a CPU action just because the first chunk was empty. If the execution
|
|
36
|
+
really loses its terminal result, use the CLI's request/status recovery as described above.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: insight-ghidra
|
|
3
|
+
description: Inspect or edit native binaries with Ghidra through insight-cli; use isolated contexts, multi-agent merge/refresh, server, GUI or debugger workflows. Choose this for static native behavior and references, not C# recovery from managed IL.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Insight Ghidra 0.2.1
|
|
7
|
+
|
|
8
|
+
If local help/status reports AppData or IPC access denied, retry that **read-only probe**
|
|
9
|
+
with the agent host's normal permission escalation, then use that route for later authorized
|
|
10
|
+
CLI calls too. An explicit **no command was sent** denial is known undispatched and can be
|
|
11
|
+
retried through that route. Keep HOME, profile and owner state; see
|
|
12
|
+
[host execution permissions](references/agent-execution.md). A lost mutation reply needs
|
|
13
|
+
request/status recovery, never blind retry.
|
|
14
|
+
|
|
15
|
+
Ghidra operations can exceed the host execution tool's first wait. If it returns a running
|
|
16
|
+
session/cell ID, await that same execution with the host's wait/poll facility until terminal
|
|
17
|
+
status and read its stdout/stderr. An empty first chunk is not a lost CLI response. Do not
|
|
18
|
+
start another open or repeat a CPU mutation while the original command is still running.
|
|
19
|
+
|
|
20
|
+
Use `ghidra status` to inspect runtime readiness; `ghidra install` delivers the pinned runtime.
|
|
21
|
+
For static managed C#/IL research, locate `insight-cli skill insight-ilspy`.
|
|
22
|
+
For owned process inventory use `tools processes`; `stop` saves Ghidra contexts, while
|
|
23
|
+
`kill` explicitly interrupts verified owned work and preserves its journals.
|
|
24
|
+
For archives, external launchers, server lifecycle or removal, read [managed runtime](references/managed-runtime.md).
|
|
25
|
+
|
|
26
|
+
This skill and its executable helper are one npm package. Run `insight-cli skill insight-ghidra` to locate
|
|
27
|
+
these installed resources. Use generated `--help` for syntax; read the references as needed.
|
|
28
|
+
Follow applicable project RE rules for tools, source of truth, evidence layout and format;
|
|
29
|
+
this package's walkthroughs fill gaps rather than replacing those conventions.
|
|
30
|
+
|
|
31
|
+
For coordinating a reverse-engineering investigation with ordinary files, external tools
|
|
32
|
+
and multiple agents, locate the RE workflow with `insight-cli skill insight-re`. When a retained checkpoint is useful, save
|
|
33
|
+
a completed project file or folder with
|
|
34
|
+
`insight-cli artifacts save <path>`; [save semantics](references/artifacts.md) describe the
|
|
35
|
+
ordinary saved copy and its receipt. Neither operation requires a Ghidra installation.
|
|
36
|
+
|
|
37
|
+
1. Select the configured runtime profile. Ordinary work uses a managed local server; an external
|
|
38
|
+
server is optional. See [setup](references/setup.md). Factory permissions authorize changes.
|
|
39
|
+
2. Open the input with `ghidra open <input> --session new --json`. Retain the returned session and target.
|
|
40
|
+
Another agent chooses `new` independently; one session can open several inputs.
|
|
41
|
+
3. Pass both `--session` and `--target` on research calls. Follow strings to xrefs and their
|
|
42
|
+
function addresses, then inspect/decompile. Decompilation defaults to a 16000-character
|
|
43
|
+
window; page with `--limit-chars`/`--offset-chars` and retain `textSha256`. Native
|
|
44
|
+
truncation remains explicit even at the end of the observed text. See [research](references/research.md).
|
|
45
|
+
4. Rename functions or set/clear comments through ordinary commands. An `applied` result means
|
|
46
|
+
verified saved private work. Other sessions keep their own views; local edits remain unpublished in the default manual mode.
|
|
47
|
+
5. By default, publish explicitly with `ghidra merge`; receive safe shared changes with `ghidra refresh`.
|
|
48
|
+
Resolve overlapping names/comments against an explicitly observed shared value. A conflict
|
|
49
|
+
prevents the whole selected merge and retains local work.
|
|
50
|
+
6. Continue with `ghidra open --session <id> --target <id>`. For uncertain outcomes inspect
|
|
51
|
+
`sessions status <id> --target <id>` and [recovery](references/recovery.md). Supplying a stable
|
|
52
|
+
optional `--request-id` lets a repeated changing intent retrieve its outcome without rerunning.
|
|
53
|
+
7. Finish by closing each context you own with scoped `ghidra close`, preserving private work.
|
|
54
|
+
If this profile's local server belongs exclusively to your investigation and all its contexts
|
|
55
|
+
are closed, use `ghidra server stop`, then verify `ghidra status` has no remaining processes.
|
|
56
|
+
`ipc-server stop` stops the CLI owner; it does **not** stop Ghidra's local server. Stop that
|
|
57
|
+
owner last when needed. For a shared profile/server, leave server shutdown to its coordinator;
|
|
58
|
+
an individual worker closes only its own contexts and never kills unrelated processes.
|
|
59
|
+
|
|
60
|
+
The facade exposes the pinned static research/editing catalog, merge/refresh, project/server/GUI
|
|
61
|
+
controls, debugger, archive exchange and supported recovery. Preserve private work
|
|
62
|
+
and journals while an outcome is unresolved. The CLI supplies the investigation tools; agents
|
|
63
|
+
choose research goals and interpret findings.
|
|
64
|
+
Installing this package does not register this skill in an agent's configuration.
|
|
65
|
+
|
|
66
|
+
For project files, program export/import and configured-server administration, read
|
|
67
|
+
[administration](references/administration.md). These operations preserve separate research views;
|
|
68
|
+
their external effects do not participate in program merge.
|
|
69
|
+
|
|
70
|
+
For owned GUI execution, CPU state, breakpoints and retained traces, read
|
|
71
|
+
[debugger](references/debugger.md). Execution side effects remain separate from program publication.
|
|
72
|
+
|
|
73
|
+
For explicit external documentation exchange and retained submission outcomes, read
|
|
74
|
+
[archive](references/archive.md).
|
|
75
|
+
|
|
76
|
+
For selected native SDK extensions (VT, DB differences, byte/assembly edits, formats, GDT,
|
|
77
|
+
FID/BSim, namespaces and typed IR), read [native workflows](references/native-workflows.md).
|
|
78
|
+
|
|
79
|
+
For managed SDK extension modules, actual language/analyzer/plugin discovery and opt-in
|
|
80
|
+
automatic synchronization, read [extensions and sync](references/extensions-and-sync.md).
|
|
81
|
+
|
|
82
|
+
For authorized macOS local debugging, use `ghidra debugger launch --stop-at-entry`
|
|
83
|
+
with the returned session/target and `--json`; then inspect status, registers and stack
|
|
84
|
+
before resuming. The default launch runs immediately, so a short program may exit before
|
|
85
|
+
an interrupt. Before resuming from entry, map the selected function and set a live breakpoint at the
|
|
86
|
+
returned dynamic address. Resuming a short program without that breakpoint can run it to
|
|
87
|
+
exit before any call is observed. At the breakpoint verify PC, then read arguments/stack
|
|
88
|
+
and step out or over the call to inspect its actual return.
|
|
89
|
+
Repeat mapping and live breakpoint setup for every new launch. A saved breakpoint bookmark
|
|
90
|
+
does not prove placement in that new process; check its `trace_location_count` before resuming.
|
|
91
|
+
Use `new` only when creating a session; subsequent calls take its actual returned ID.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Projects, files and server administration
|
|
2
|
+
|
|
3
|
+
Research uses root session/target scope. `ghidra projects` manages separate projects inside the
|
|
4
|
+
selected profile; these projects do not select or replace an agent's private context. Use an
|
|
5
|
+
explicit `--project` for create/open/close/info/files and file operations. Closing releases the
|
|
6
|
+
native handle and preserves files; deletion requires Destructive. File listings are paged.
|
|
7
|
+
Moves select a source `--path` and an existing `--destination` folder. Existing names are preserved.
|
|
8
|
+
|
|
9
|
+
`ghidra program export --session <id> --target <id> --output <file>` saves the selected private
|
|
10
|
+
program as GZF without publishing. `ghidra program import --project <name> --input <gzf>
|
|
11
|
+
--path /folder/program` adds that saved program to a managed project. Importing files does not
|
|
12
|
+
change the immutable target's input identity. Export requires a new output file.
|
|
13
|
+
|
|
14
|
+
`ghidra projects archive --project <name> --output <gar>` exports a native Ghidra project archive.
|
|
15
|
+
`ghidra projects restore --project <new-name> --input <gar>` restores into a new independent owned
|
|
16
|
+
project. Archive entries cannot escape their destination; restoration accepts at most 100,000
|
|
17
|
+
entries and 4 GiB of declared uncompressed data. Research contexts and pending work remain separate.
|
|
18
|
+
|
|
19
|
+
Changing operations accept `--request-id`. A verified native completion journal can recover a
|
|
20
|
+
lost project response without executing that operation again. If no complete journal exists,
|
|
21
|
+
changing that project stays blocked; read-only inspection remains available. Partial or different
|
|
22
|
+
export output does not prove success and is preserved. Retain receipts for continuation.
|
|
23
|
+
|
|
24
|
+
`ghidra server` operates on the configured local or external server. `status` reports connection
|
|
25
|
+
state, including a missing runtime before installation; `start/stop` manage the owned local
|
|
26
|
+
server (stop requires closed contexts). `connect` enables shared operations; `disconnect` releases the owned local server or the
|
|
27
|
+
external connection. Reconnect preserves repositories. Repository/file/history/checkout commands
|
|
28
|
+
require the explicit repository and relevant path. Admin actions require actual server authority
|
|
29
|
+
alongside Factory permissions. Changing ACLs preserves other users and anonymous access.
|
|
30
|
+
Facade reader/publisher authority and canonical publication checkouts remain protected.
|
|
31
|
+
|
|
32
|
+
Unknown server administration outcomes are retained without blind replay. Server/file effects
|
|
33
|
+
are independent of program merge. Use generated help for flags and Factory profile/secret commands
|
|
34
|
+
for connection configuration.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent host execution permissions
|
|
2
|
+
|
|
3
|
+
Keep the user/project host policy and the selected profile. A sandbox can deny writes
|
|
4
|
+
to runtime AppData or access to the local IPC endpoint, including during local help.
|
|
5
|
+
This is a host execution boundary, not evidence that the tool or its inputs are absent.
|
|
6
|
+
|
|
7
|
+
First retry only `insight-cli --help`, `tools list`, `skill`, or the selected application's
|
|
8
|
+
read-only `status` using the host's normal permission escalation. In Codex, use the
|
|
9
|
+
execution tool's `sandbox_permissions: "require_escalated"` with a scoped explanation
|
|
10
|
+
that the installed CLI needs its existing profile storage/local IPC. Automatic approval
|
|
11
|
+
review or the user decides that request; do not disable the sandbox or approval policy.
|
|
12
|
+
|
|
13
|
+
Do not work around this by changing HOME/AppData/profile paths, creating another host,
|
|
14
|
+
deleting owner/endpoint files, killing unrelated processes or claiming a missing runtime.
|
|
15
|
+
After the read-only probe succeeds, use the approved execution route for the intended
|
|
16
|
+
public CLI commands. An access refusal explicitly stating **no command was sent** is
|
|
17
|
+
known not dispatched; it is safe to submit that authorized command through the approved
|
|
18
|
+
route. This includes a mutation refused before dispatch. Do not mistake that definite
|
|
19
|
+
pre-dispatch refusal for an unknown execution outcome. Downloads still require their explicit
|
|
20
|
+
network access.
|
|
21
|
+
|
|
22
|
+
A lost mutation response is different from a denied startup probe: inspect retained
|
|
23
|
+
request/status/recovery evidence and use its request ID when supported. Never blindly
|
|
24
|
+
repeat a publication, script or program run whose outcome is unknown. External-tool
|
|
25
|
+
fallback is allowed by project rules, but record that the intended facade was not used
|
|
26
|
+
and do not invent a successful checkpoint or native result.
|
|
27
|
+
|
|
28
|
+
## Wait for the original execution
|
|
29
|
+
|
|
30
|
+
A tool operation may outlast the host execution tool's initial wait. A returned running
|
|
31
|
+
session/cell ID means that command is still in progress, not that the CLI returned no data.
|
|
32
|
+
Use the host's session poll/wait facility until terminal exit and consume stdout/stderr
|
|
33
|
+
before issuing a dependent command. In Codex, an `exec_command` session is continued with
|
|
34
|
+
`write_stdin`; a yielded execution cell uses that host's cell wait. Do not launch a second
|
|
35
|
+
open/install or repeat a CPU action just because the first chunk was empty. If the execution
|
|
36
|
+
really loses its terminal result, use the CLI's request/status recovery as described above.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Exchange private documentation with an archive
|
|
2
|
+
|
|
3
|
+
Archive exchange is disabled until the selected Factory profile has an explicit `archiveUrl`.
|
|
4
|
+
Use HTTPS for a remote service; local HTTP is supported for local services. URLs cannot contain
|
|
5
|
+
credentials, query parameters or fragments. An optional bearer token is stored with
|
|
6
|
+
`auth login --role archive --password-stdin`; it is a Factory secret and is never passed to
|
|
7
|
+
Ghidra or the debuggee. `auth logout` clears this token as well as external server credentials.
|
|
8
|
+
|
|
9
|
+
Use `ghidra archive ingest-function --address <entry>` or `ingest-program`, with the usual
|
|
10
|
+
`--session` and `--target`. Both export the selected private view. `--version-label` supplies
|
|
11
|
+
the archive version; its default is `unknown`. Internal project directories are not used as
|
|
12
|
+
version labels. Bulk selection skips default function names unless `--include-default-named`
|
|
13
|
+
is set; `--limit` bounds visited functions. Zero selects all, subject to the documented bound.
|
|
14
|
+
`--dry-run` validates payloads and returns would-be counts without a network request.
|
|
15
|
+
|
|
16
|
+
The service contract is `POST <archiveUrl>/v1/doc_archive/upsert` with JSON and an optional
|
|
17
|
+
`Authorization: Bearer ...` header. The payload matches the pinned GhidraMCP builder: binary
|
|
18
|
+
name, explicit version, function address, run/tool identity, name/prototype, calling convention,
|
|
19
|
+
flags, matching hash/shape metadata, tags, named locals and instruction comments when present.
|
|
20
|
+
The binary name is the logical target name. Each successful JSON response must contain a
|
|
21
|
+
boolean `created` and a nonnegative integer `conflicts_enqueued`. Redirects are refused.
|
|
22
|
+
|
|
23
|
+
Results retain created, updated, conflict, skipped and error counts. Archive conflict counts
|
|
24
|
+
describe the external service's decisions; they do not resolve program merge conflicts.
|
|
25
|
+
Use an optional stable `--request-id` when a response might be lost. A repeated ID returns
|
|
26
|
+
the saved successful result or the retained uncertain outcome, without sending again.
|
|
27
|
+
Each outbound payload identity and the source snapshot are retained before dispatch. Unknown
|
|
28
|
+
external outcomes stay observable and do not block unrelated private research. A new request ID
|
|
29
|
+
expresses another explicit submission; the facade does not assume the service can deduplicate it.
|
|
30
|
+
|
|
31
|
+
Archive requests do not publish the program or alter another session. Developing or deploying
|
|
32
|
+
the external archive service is outside this package; acceptance uses an owned contract fixture.
|