@whyshu/argent-engine 0.0.0-stage → 0.6.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.
Files changed (340) hide show
  1. package/MANIFEST.json +341 -0
  2. package/engine/VERSION +1 -0
  3. package/engine/agents/catalog.json +454 -0
  4. package/engine/configs/_aliases.proposed.json +651 -0
  5. package/engine/configs/_migration-plan.proposed.json +899 -0
  6. package/engine/configs/account.json +272 -0
  7. package/engine/configs/advanced.json +205 -0
  8. package/engine/configs/host.json +149 -0
  9. package/engine/configs/hr.json +27 -0
  10. package/engine/configs/notify.json +264 -0
  11. package/engine/core/cli/argent.mjs +277 -0
  12. package/engine/core/contracts/argent.contracts.json +1065 -0
  13. package/engine/core/contracts/verbs.schema.json +2539 -0
  14. package/engine/core/lib/argent-datadir.mjs +223 -0
  15. package/engine/core/lib/audit.mjs +187 -0
  16. package/engine/core/lib/claim.mjs +258 -0
  17. package/engine/core/lib/config-catalog.mjs +1172 -0
  18. package/engine/core/lib/doctor-customer.mjs +577 -0
  19. package/engine/core/lib/flow-list.mjs +138 -0
  20. package/engine/core/lib/flow-registry.mjs +48 -0
  21. package/engine/core/lib/init.mjs +247 -0
  22. package/engine/core/lib/ledger.mjs +124 -0
  23. package/engine/core/lib/license-activate.mjs +813 -0
  24. package/engine/core/lib/license-device.mjs +314 -0
  25. package/engine/core/lib/license-file.mjs +349 -0
  26. package/engine/core/lib/license-guard.mjs +123 -0
  27. package/engine/core/lib/license-ops.mjs +1645 -0
  28. package/engine/core/lib/license-verdict.mjs +133 -0
  29. package/engine/core/lib/license.mjs +577 -0
  30. package/engine/core/lib/notify/dedup.mjs +101 -0
  31. package/engine/core/lib/notify/feishu.mjs +38 -0
  32. package/engine/core/lib/notify/index.mjs +95 -0
  33. package/engine/core/lib/notify/verb.mjs +327 -0
  34. package/engine/core/lib/notify/webhook.mjs +135 -0
  35. package/engine/core/lib/notify/wecom.mjs +36 -0
  36. package/engine/core/lib/python.mjs +145 -0
  37. package/engine/core/lib/sop.mjs +116 -0
  38. package/engine/core/lib/versions.mjs +205 -0
  39. package/engine/core/mcp/client.mjs +67 -0
  40. package/engine/core/mcp/http.mjs +138 -0
  41. package/engine/core/mcp/server.mjs +702 -0
  42. package/engine/scripts/_engine_rules_probe.py +15 -0
  43. package/engine/scripts/analyze-full-day.py +568 -0
  44. package/engine/scripts/archive/feishu-bridge.js +246 -0
  45. package/engine/scripts/argent-agents.mjs +527 -0
  46. package/engine/scripts/argent-capabilities.mjs +776 -0
  47. package/engine/scripts/argent-catalog.mjs +186 -0
  48. package/engine/scripts/argent-datadir.py +62 -0
  49. package/engine/scripts/argent-doctor.mjs +624 -0
  50. package/engine/scripts/argent-env-write.mjs +302 -0
  51. package/engine/scripts/argent-schedule.mjs +620 -0
  52. package/engine/scripts/argent-setup-check.mjs +369 -0
  53. package/engine/scripts/argent-upgrade.mjs +1046 -0
  54. package/engine/scripts/base-bootstrap.sh +576 -0
  55. package/engine/scripts/billing-mode-daily.sh +13 -0
  56. package/engine/scripts/build-engine-package.mjs +126 -0
  57. package/engine/scripts/capability-packs.lock.json +484 -0
  58. package/engine/scripts/capability_pack.py +1242 -0
  59. package/engine/scripts/check-1.0-criteria.mjs +355 -0
  60. package/engine/scripts/check-agent-catalog.mjs +141 -0
  61. package/engine/scripts/check-billing-mode.sh +378 -0
  62. package/engine/scripts/check-child-sessions.mjs +83 -0
  63. package/engine/scripts/check-config-catalog.mjs +677 -0
  64. package/engine/scripts/check-docs-drift.mjs +522 -0
  65. package/engine/scripts/check-dsh-web-expose.sh +98 -0
  66. package/engine/scripts/check-judgment-drift.mjs +403 -0
  67. package/engine/scripts/check-license.mjs +199 -0
  68. package/engine/scripts/check-model-auth.py +443 -0
  69. package/engine/scripts/check-pack-closure.mjs +661 -0
  70. package/engine/scripts/check-portable-symbols.mjs +116 -0
  71. package/engine/scripts/check-preset-landing.mjs +124 -0
  72. package/engine/scripts/check-production-home.mjs +602 -0
  73. package/engine/scripts/check-role-mapping.mjs +461 -0
  74. package/engine/scripts/check-sample-redaction.mjs +320 -0
  75. package/engine/scripts/check-skill-classification.mjs +188 -0
  76. package/engine/scripts/check-sop-consistency.mjs +431 -0
  77. package/engine/scripts/check-test-env-safety.mjs +627 -0
  78. package/engine/scripts/check-version-consistency.mjs +452 -0
  79. package/engine/scripts/ci-run.sh +558 -0
  80. package/engine/scripts/collect-evidence.mjs +42 -0
  81. package/engine/scripts/config-explain.mjs +278 -0
  82. package/engine/scripts/configure-provider.rb +29 -0
  83. package/engine/scripts/customer-config-migrate.mjs +179 -0
  84. package/engine/scripts/customer-preflight.py +892 -0
  85. package/engine/scripts/customer-readiness.sh +135 -0
  86. package/engine/scripts/daily-report-inbox.py +242 -0
  87. package/engine/scripts/daily-report-reconcile.mjs +312 -0
  88. package/engine/scripts/daily-report.mjs +1310 -0
  89. package/engine/scripts/daily-report.sh +47 -0
  90. package/engine/scripts/data/lip-product-dict.json +306 -0
  91. package/engine/scripts/deliver-customer.mjs +932 -0
  92. package/engine/scripts/delivery-faces.txt +31 -0
  93. package/engine/scripts/desktop-trial.sh +146 -0
  94. package/engine/scripts/dev-window.sh +261 -0
  95. package/engine/scripts/drill-clean-machine.sh +315 -0
  96. package/engine/scripts/dsh-api-client.mjs +215 -0
  97. package/engine/scripts/dsh-backup-scope.sh +83 -0
  98. package/engine/scripts/dsh-offline-pack.mjs +77 -0
  99. package/engine/scripts/dsh-overlay-pin.sh +87 -0
  100. package/engine/scripts/dsh-plane.mjs +153 -0
  101. package/engine/scripts/dsh-portforward.py +223 -0
  102. package/engine/scripts/dsh-preflight.mjs +179 -0
  103. package/engine/scripts/dsh-release-watch-daily.sh +19 -0
  104. package/engine/scripts/dsh-release-watch.mjs +458 -0
  105. package/engine/scripts/dsh-remote-check.sh +99 -0
  106. package/engine/scripts/dsh-restart.sh +179 -0
  107. package/engine/scripts/dsh-restore.sh +111 -0
  108. package/engine/scripts/dsh-scope-rewire.mjs +803 -0
  109. package/engine/scripts/dsh-snapshot.mjs +116 -0
  110. package/engine/scripts/dsh-upgrade-readiness.mjs +165 -0
  111. package/engine/scripts/dsh-upgrade.mjs +612 -0
  112. package/engine/scripts/dsh-url.sh +86 -0
  113. package/engine/scripts/dsh-web-launch.mjs +155 -0
  114. package/engine/scripts/ensure-store-windows.py +509 -0
  115. package/engine/scripts/entitlements.py +458 -0
  116. package/engine/scripts/env_probe.py +411 -0
  117. package/engine/scripts/feishu-card.mjs +252 -0
  118. package/engine/scripts/final-check.mjs +43 -0
  119. package/engine/scripts/fix-skill-frontmatter.py +209 -0
  120. package/engine/scripts/flow-auto-retry.py +454 -0
  121. package/engine/scripts/flow-requirements.json +735 -0
  122. package/engine/scripts/flow-scaffold.py +275 -0
  123. package/engine/scripts/flow-timers-plist.sh +87 -0
  124. package/engine/scripts/flow-timers.sh +184 -0
  125. package/engine/scripts/flow-trigger-wake.mjs +284 -0
  126. package/engine/scripts/flow-trigger.sh +571 -0
  127. package/engine/scripts/flow_billing.py +354 -0
  128. package/engine/scripts/flow_capability_stats.py +314 -0
  129. package/engine/scripts/flow_case.py +194 -0
  130. package/engine/scripts/flow_claim.py +497 -0
  131. package/engine/scripts/flow_config.py +1025 -0
  132. package/engine/scripts/flow_failure.py +588 -0
  133. package/engine/scripts/flow_learn.py +105 -0
  134. package/engine/scripts/flow_ledger.py +235 -0
  135. package/engine/scripts/flow_policy.py +238 -0
  136. package/engine/scripts/flow_preflight.py +339 -0
  137. package/engine/scripts/flow_registry.py +341 -0
  138. package/engine/scripts/flow_retry.py +304 -0
  139. package/engine/scripts/flow_return_to_ops.py +191 -0
  140. package/engine/scripts/flow_source.py +315 -0
  141. package/engine/scripts/flow_sources/__init__.py +53 -0
  142. package/engine/scripts/flow_sources/cases_json.py +106 -0
  143. package/engine/scripts/flow_sources/common.py +428 -0
  144. package/engine/scripts/flow_sources/feishu_base.py +273 -0
  145. package/engine/scripts/flow_stale.py +185 -0
  146. package/engine/scripts/flow_status_reconcile.py +344 -0
  147. package/engine/scripts/flow_triage.py +849 -0
  148. package/engine/scripts/flow_write_verify.py +496 -0
  149. package/engine/scripts/fulfillment.js +586 -0
  150. package/engine/scripts/gen-agent-bundles.mjs +276 -0
  151. package/engine/scripts/gen-preset-rows.mjs +259 -0
  152. package/engine/scripts/init-ml.sh +2278 -0
  153. package/engine/scripts/install-internal-role.sh +190 -0
  154. package/engine/scripts/install-license.mjs +641 -0
  155. package/engine/scripts/install-one-shot.mjs +665 -0
  156. package/engine/scripts/integration_contract.py +220 -0
  157. package/engine/scripts/integrations/wenyao/adapter.py +98 -0
  158. package/engine/scripts/integrations/xzh/adapter.py +75 -0
  159. package/engine/scripts/invoice-mapping.example.json +40 -0
  160. package/engine/scripts/invoice-table.sh +195 -0
  161. package/engine/scripts/invoice_carrier_notice.py +279 -0
  162. package/engine/scripts/invoice_fail_closeout.py +297 -0
  163. package/engine/scripts/invoice_lip_runner.py +1508 -0
  164. package/engine/scripts/invoice_lip_runner.py.bak-20260922-1710-freready +1090 -0
  165. package/engine/scripts/invoice_ready_audit.py +191 -0
  166. package/engine/scripts/invoice_runner.py +675 -0
  167. package/engine/scripts/invoice_stageb.py +516 -0
  168. package/engine/scripts/launchd/com.whyshu.argent-bridge.plist.example +42 -0
  169. package/engine/scripts/launchd/com.whyshu.fulfillment-poll.plist.example +29 -0
  170. package/engine/scripts/lease.py +377 -0
  171. package/engine/scripts/lib/agent-install.mjs +649 -0
  172. package/engine/scripts/lib/argent-datadir.mjs +16 -0
  173. package/engine/scripts/lib/argent-datadir.sh +18 -0
  174. package/engine/scripts/lib/argent_datadir.py +285 -0
  175. package/engine/scripts/lib/argent_filelock.py +507 -0
  176. package/engine/scripts/lib/bootcheck-wiring.mjs +510 -0
  177. package/engine/scripts/lib/cdp_ports.py +197 -0
  178. package/engine/scripts/lib/customer-env.mjs +102 -0
  179. package/engine/scripts/lib/daily-report-core.mjs +517 -0
  180. package/engine/scripts/lib/dep-declaration.mjs +81 -0
  181. package/engine/scripts/lib/deps-migrate.mjs +310 -0
  182. package/engine/scripts/lib/dsh-host-resolve.mjs +109 -0
  183. package/engine/scripts/lib/dsh-scope.mjs +500 -0
  184. package/engine/scripts/lib/dsh-snapshot-path.mjs +35 -0
  185. package/engine/scripts/lib/dsh-versions.mjs +96 -0
  186. package/engine/scripts/lib/dsh-web-probe.mjs +214 -0
  187. package/engine/scripts/lib/is-direct-run.mjs +61 -0
  188. package/engine/scripts/lib/patch-compose.mjs +241 -0
  189. package/engine/scripts/lib/patch-target.mjs +35 -0
  190. package/engine/scripts/lib/plugin-lifecycle.mjs +128 -0
  191. package/engine/scripts/lib/plugin-packages.mjs +332 -0
  192. package/engine/scripts/lib/preset-compat.mjs +127 -0
  193. package/engine/scripts/lib/preset-install.mjs +575 -0
  194. package/engine/scripts/lib/preset-mechanism.mjs +56 -0
  195. package/engine/scripts/lib/preset-sync.mjs +59 -0
  196. package/engine/scripts/lib/profile-retire.mjs +97 -0
  197. package/engine/scripts/lib/python-runtime.mjs +190 -0
  198. package/engine/scripts/lib/registry.mjs +72 -0
  199. package/engine/scripts/lib/repo-root.sh +56 -0
  200. package/engine/scripts/lib/schedule-mechanism.mjs +659 -0
  201. package/engine/scripts/lib/schedule-probe.mjs +835 -0
  202. package/engine/scripts/lib/scope-pointer.mjs +164 -0
  203. package/engine/scripts/lib/settings-panels.mjs +816 -0
  204. package/engine/scripts/lib/stdio_utf8.py +86 -0
  205. package/engine/scripts/lib/wake-auth.mjs +392 -0
  206. package/engine/scripts/lib/webdriver_ipc.py +264 -0
  207. package/engine/scripts/lib/zstd-frames.mjs +104 -0
  208. package/engine/scripts/license-e2e-drill.mjs +426 -0
  209. package/engine/scripts/license-gate.mjs +245 -0
  210. package/engine/scripts/lip_backlog.py +171 -0
  211. package/engine/scripts/lip_table.py +185 -0
  212. package/engine/scripts/local-usage.mjs +214 -0
  213. package/engine/scripts/migrate-providers.mjs +127 -0
  214. package/engine/scripts/migrate-skills.sh +65 -0
  215. package/engine/scripts/ml-oauth-setup.mjs +550 -0
  216. package/engine/scripts/ml-store-ids.json +26 -0
  217. package/engine/scripts/ml_artifact_attribution.py +333 -0
  218. package/engine/scripts/ml_capacity_probe.py +1158 -0
  219. package/engine/scripts/ml_hub_status.py +1556 -0
  220. package/engine/scripts/ml_schema_check.py +115 -0
  221. package/engine/scripts/ml_store_ids.py +139 -0
  222. package/engine/scripts/npm-publish-argent.mjs +499 -0
  223. package/engine/scripts/npm-publish-argent.sh +20 -0
  224. package/engine/scripts/orchestrator.py +13811 -0
  225. package/engine/scripts/pack-plugins.mjs +140 -0
  226. package/engine/scripts/patches/dsh-llm-deepseek--transport-diagnostics.patch +297 -0
  227. package/engine/scripts/patches/dsh-session--append-message-shape.patch +15 -0
  228. package/engine/scripts/patches/dsh-session--tool-result-block-017.patch +28 -0
  229. package/engine/scripts/patches/dsh-session-format-v0-to-v1--permission-preset-origin.patch +11 -0
  230. package/engine/scripts/patches/dsh-session-format-v3-to-v4--turn-outside-replace.patch +20 -0
  231. package/engine/scripts/patches/dsh-session-persistence-jsonl--worker-bundled-migrators.patch +39 -0
  232. package/engine/scripts/patches/dsh-tools--render-return-shape.patch +50 -0
  233. package/engine/scripts/patches/verify-bundled-migrators.mjs +79 -0
  234. package/engine/scripts/patches/verify-hardening.mjs +167 -0
  235. package/engine/scripts/patches/verify-session-migration.mjs +149 -0
  236. package/engine/scripts/patches/verify-transport-diagnostics.mjs +227 -0
  237. package/engine/scripts/plan-role-rename.mjs +125 -0
  238. package/engine/scripts/plugin-bootcheck.mjs +451 -0
  239. package/engine/scripts/plugin-composition.json +15 -0
  240. package/engine/scripts/poc-mcp-host.mjs +455 -0
  241. package/engine/scripts/poll-fulfillment.sh +295 -0
  242. package/engine/scripts/poll-invoice.sh +76 -0
  243. package/engine/scripts/profile-doctor.mjs +686 -0
  244. package/engine/scripts/provider-select.sh +71 -0
  245. package/engine/scripts/provider-switch.sh +146 -0
  246. package/engine/scripts/provider-sync-target.check.mjs +64 -0
  247. package/engine/scripts/python-runtime.sh +78 -0
  248. package/engine/scripts/query_runner.py +310 -0
  249. package/engine/scripts/release-argent.sh +574 -0
  250. package/engine/scripts/repair-unresolved-tools.mjs +178 -0
  251. package/engine/scripts/retire-inventory.mjs +40 -0
  252. package/engine/scripts/run-tests.sh +257 -0
  253. package/engine/scripts/s1-audit.mjs +85 -0
  254. package/engine/scripts/self-sign-license.mjs +179 -0
  255. package/engine/scripts/session-health-scan.mjs +63 -0
  256. package/engine/scripts/session-repair-tool-result-content.mjs +181 -0
  257. package/engine/scripts/setup.sh +22 -0
  258. package/engine/scripts/skill-install.mjs +629 -0
  259. package/engine/scripts/sku_translate.py +148 -0
  260. package/engine/scripts/sync-plugins.sh +90 -0
  261. package/engine/scripts/sync-presets.sh +27 -0
  262. package/engine/scripts/sync-scripts.sh +445 -0
  263. package/engine/scripts/telemetry.py +873 -0
  264. package/engine/scripts/ui-copy-count.mjs +220 -0
  265. package/engine/scripts/usage-anchor.sh +137 -0
  266. package/engine/scripts/usage_report.py +531 -0
  267. package/engine/scripts/validate-preset-schema.mjs +208 -0
  268. package/engine/scripts/vertical-init.mjs +323 -0
  269. package/engine/scripts/vertical-lint.mjs +482 -0
  270. package/engine/scripts/wenyao-browser.sh +74 -0
  271. package/engine/scripts/wenyao-fixture-export.py +116 -0
  272. package/engine/scripts/wenyao-invoice-writeback.mjs +540 -0
  273. package/engine/scripts/wenyao-login.sh +35 -0
  274. package/engine/scripts/wenyao-template-map.json +292 -0
  275. package/engine/scripts/wenyao_attach.py +131 -0
  276. package/engine/scripts/wenyao_download_template.py +144 -0
  277. package/engine/scripts/wenyao_fill_template.py +568 -0
  278. package/engine/scripts/wenyao_login.py +145 -0
  279. package/engine/scripts/wenyao_portal.py +633 -0
  280. package/engine/scripts/wenyao_recon.py +230 -0
  281. package/engine/scripts/wenyao_run.py +503 -0
  282. package/engine/scripts/wenyao_shadow_diff.py +160 -0
  283. package/engine/scripts/wenyao_skill_contract.py +156 -0
  284. package/engine/scripts/wenyao_template_fetch.py +175 -0
  285. package/engine/scripts/win/dsh-web-autostart.ps1 +372 -0
  286. package/engine/scripts/ziniao-auth-probe.sh +268 -0
  287. package/engine/scripts/ziniao-keepalive.sh +217 -0
  288. package/engine/scripts/ziniao-post-upgrade-check.sh +121 -0
  289. package/engine/scripts/ziniao-windows.sh +154 -0
  290. package/engine/skills/README.md +86 -0
  291. package/engine/skills/argent-dev/SKILL.md +41 -0
  292. package/engine/skills/internal.json +37 -0
  293. package/engine/skills/lktop-pm/SKILL.md +35 -0
  294. package/engine/skills/lktopapp-dev/SKILL.md +34 -0
  295. package/engine/skills/ml-config-guide/SKILL.md +50 -0
  296. package/engine/skills/ml-fulfillment-sop/SKILL.md +178 -0
  297. package/engine/skills/ml-fulfillment-sop/references/andes-components.md +69 -0
  298. package/engine/skills/ml-fulfillment-sop/references/cdp-port-mapping.md +35 -0
  299. package/engine/skills/ml-fulfillment-sop/references/feishu-base-fulfillment-schema.md +136 -0
  300. package/engine/skills/ml-fulfillment-sop/references/multi-window-concurrency.md +69 -0
  301. package/engine/skills/ml-fulfillment-sop/references/pitfalls.md +77 -0
  302. package/engine/skills/ml-fulfillment-sop/references/selectors.md +243 -0
  303. package/engine/skills/ml-fulfillment-sop/scripts/fulfillment.js +586 -0
  304. package/engine/skills/ml-fulfillment-sop/scripts/poll-and-execute.sh +271 -0
  305. package/engine/skills/ml-fulfillment-sop/templates/report.md +55 -0
  306. package/engine/skills/ml-invoice/SKILL.md +506 -0
  307. package/engine/skills/ml-invoice/references/pitfalls.md +268 -0
  308. package/engine/skills/ml-invoice/references/portal-flow.md +360 -0
  309. package/engine/skills/ml-invoice/references/template-fill-contract.md +133 -0
  310. package/engine/skills/ml-invoice-xzh/SKILL.md +133 -0
  311. package/engine/skills/ml-invoice-xzh/references/pitfalls.md +230 -0
  312. package/engine/skills/ml-store-daily-report/SKILL.md +224 -0
  313. package/engine/skills/ml-store-daily-report/scripts/README.md +25 -0
  314. package/engine/skills/ml-store-daily-report/scripts/extract.js +691 -0
  315. package/engine/skills/ml-store-daily-report/scripts/generate.js +299 -0
  316. package/engine/skills/pet-dev/SKILL.md +42 -0
  317. package/engine/skills/whyshu-pm/SKILL.md +35 -0
  318. package/engine/skills/whyshu-web-dev/SKILL.md +50 -0
  319. package/engine/version.mjs +1 -0
  320. package/engine/verticals/README.md +103 -0
  321. package/engine/verticals/_engine-words.baseline.txt +237 -0
  322. package/engine/verticals/_engine-words.json +19 -0
  323. package/engine/verticals/mercadolibre/README.md +43 -0
  324. package/engine/verticals/mercadolibre/config.json +709 -0
  325. package/engine/verticals/mercadolibre/flows.json +738 -0
  326. package/engine/verticals/mercadolibre/manifest.json +538 -0
  327. package/engine/verticals/mercadolibre/migrate-machine-state.mjs +138 -0
  328. package/engine/verticals/mercadolibre/preflight.py +143 -0
  329. package/engine/verticals/mercadolibre/prompts/daily-report.failure.md +69 -0
  330. package/engine/verticals/mercadolibre/prompts/daily-report.md +47 -0
  331. package/engine/verticals/mercadolibre/prompts/daily-report.scheduled.md +79 -0
  332. package/engine/verticals/mercadolibre/prompts/full.failure.md +125 -0
  333. package/engine/verticals/mercadolibre/prompts/full.md +91 -0
  334. package/engine/verticals/mercadolibre/prompts/wenyao-invoice.failure.md +88 -0
  335. package/engine/verticals/mercadolibre/prompts/wenyao-invoice.md +64 -0
  336. package/engine/verticals/mercadolibre/prompts/xzh-invoice.failure.md +91 -0
  337. package/engine/verticals/mercadolibre/prompts/xzh-invoice.md +46 -0
  338. package/package.json +22 -4
  339. package/requirements.txt +5 -0
  340. package/README.md +0 -3
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * 打包 `@whyshu/argent-engine`(0.7.0 W1 交付物 B)。
4
+ *
5
+ * 目的:把本仓的 **L1 引擎**以"**一份实现**"发成 npm 包,供 `@whyshu/argent-cli` 依赖。
6
+ * ⛔ 不复制逻辑:包里每个文件都是**仓库文件的逐字节副本**,并用 MANIFEST.json 记 sha256;
7
+ * `--check` 就是"包内容 == 仓库内容 + 无白名单外文件"的机器判据。
8
+ *
9
+ * 用法:
10
+ * node scripts/build-engine-package.mjs [--out <dir>] # 默认 dist/argent-engine
11
+ * node scripts/build-engine-package.mjs --check [--out <dir>]
12
+ */
13
+ import { readFileSync, writeFileSync, mkdirSync, rmSync, existsSync, readdirSync, statSync } from 'node:fs'
14
+ import { createHash } from 'node:crypto'
15
+ import { join, dirname, relative, posix } from 'node:path'
16
+ import { fileURLToPath } from 'node:url'
17
+
18
+ const HERE = dirname(fileURLToPath(import.meta.url))
19
+ const REPO = join(HERE, '..')
20
+
21
+ /** 白名单:目录 + 排除(唯一真源) */
22
+ export const INCLUDE_DIRS = ['scripts', 'core', 'verticals', 'configs', 'agents', 'skills']
23
+ export const EXCLUDE_RE = [
24
+ /(^|\/)tests?\//, /(^|\/)__pycache__\//, /\.pyc$/, /(^|\/)node_modules\//,
25
+ /(^|\/)attic\//, /\.test\.(mjs|py)$/, /(^|\/)fixtures\//,
26
+ ]
27
+ export const INCLUDE_FILES = ['VERSION']
28
+
29
+ function walk(dir, base = REPO) {
30
+ const out = []
31
+ for (const e of readdirSync(dir)) {
32
+ const p = join(dir, e)
33
+ const rel = relative(base, p)
34
+ if (EXCLUDE_RE.some((re) => re.test(rel))) continue
35
+ const st = statSync(p)
36
+ if (st.isDirectory()) out.push(...walk(p, base))
37
+ else out.push(rel)
38
+ }
39
+ return out
40
+ }
41
+ export function collectSources() {
42
+ const files = []
43
+ for (const d of INCLUDE_DIRS) { const p = join(REPO, d); if (existsSync(p)) files.push(...walk(p)) }
44
+ for (const f of INCLUDE_FILES) if (existsSync(join(REPO, f))) files.push(f)
45
+ return files.map((f) => f.split('\\').join('/')).sort()
46
+ }
47
+ const sha = (buf) => createHash('sha256').update(buf).digest('hex')
48
+
49
+ function pkgManifest() {
50
+ return JSON.stringify({
51
+ name: '@whyshu/argent-engine',
52
+ version: readFileSync(join(REPO, 'VERSION'), 'utf8').trim(),
53
+ description: 'Argent 引擎(L1):流程/台账/重试/守卫/审计/浏览器自动化 —— 逐字节来自 argent-dsh 仓库',
54
+ type: 'module',
55
+ engines: { node: '>=20' },
56
+ files: ['engine/', 'MANIFEST.json', 'requirements.txt'],
57
+ exports: {
58
+ './version': './engine/version.mjs',
59
+ './registry': './engine/scripts/lib/registry.mjs',
60
+ './datadir-scope': './engine/scripts/lib/dsh-scope.mjs',
61
+ './package.json': './package.json',
62
+ },
63
+ publishConfig: { access: 'public' },
64
+ license: 'UNLICENSED',
65
+ }, null, 2) + '\n'
66
+ }
67
+
68
+ export function build(outDir) {
69
+ const files = collectSources()
70
+ rmSync(outDir, { recursive: true, force: true })
71
+ mkdirSync(join(outDir, 'engine'), { recursive: true })
72
+ const manifest = { schema: 1, package: '@whyshu/argent-engine', files: {} }
73
+ for (const rel of files) {
74
+ const dst = join(outDir, 'engine', rel)
75
+ mkdirSync(dirname(dst), { recursive: true })
76
+ const buf = readFileSync(join(REPO, rel))
77
+ writeFileSync(dst, buf)
78
+ manifest.files[rel] = sha(buf)
79
+ }
80
+ writeFileSync(join(outDir, 'engine', 'version.mjs'), `export const VERSION = ${JSON.stringify(readFileSync(join(REPO, 'VERSION'), 'utf8').trim())}\n`)
81
+ // Python 侧车需求清单(复核批指出缺口:包内没有需求清单,客户机无法装运行时)
82
+ const REQS = ['openpyxl', 'pyyaml', 'pillow', 'playwright', 'selenium']
83
+ writeFileSync(join(outDir, 'requirements.txt'), REQS.join('\n') + '\n')
84
+ writeFileSync(join(outDir, 'package.json'), pkgManifest())
85
+ writeFileSync(join(outDir, 'MANIFEST.json'), JSON.stringify(manifest, null, 2) + '\n')
86
+ return { outDir, count: files.length, manifest }
87
+ }
88
+
89
+ export function check(outDir) {
90
+ const problems = []
91
+ const manPath = join(outDir, 'MANIFEST.json')
92
+ if (!existsSync(manPath)) return { ok: false, problems: ['缺少 MANIFEST.json(先跑打包)'] }
93
+ const man = JSON.parse(readFileSync(manPath, 'utf8'))
94
+ const expected = collectSources()
95
+ for (const rel of expected) {
96
+ const cur = sha(readFileSync(join(REPO, rel)))
97
+ if (!(rel in man.files)) problems.push(`包内缺文件:${rel}`)
98
+ else if (man.files[rel] !== cur) problems.push(`内容漂移:${rel}(包 ${String(man.files[rel]).slice(0, 8)} ≠ 仓库 ${cur.slice(0, 8)})`)
99
+ }
100
+ for (const rel of Object.keys(man.files)) if (!expected.includes(rel)) problems.push(`白名单外文件:${rel}`)
101
+ // ⚠️ 必须同时比"包内文件 ↔ MANIFEST":否则**包被篡改**查不出来(夹具牙① 抓到的真缺口)
102
+ for (const [rel, want] of Object.entries(man.files)) {
103
+ const f = join(outDir, 'engine', rel)
104
+ if (!existsSync(f)) { problems.push(`包内文件缺失:${rel}`); continue }
105
+ const got = sha(readFileSync(f))
106
+ if (got !== want) problems.push(`包内文件内容与 MANIFEST 不符:${rel}(包 ${got.slice(0, 8)} ≠ MANIFEST ${String(want).slice(0, 8)})`)
107
+ }
108
+ // 包内实际文件集合必须与 MANIFEST 一致(防"手塞文件")
109
+ const engineDir = join(outDir, 'engine')
110
+ const present = walk(engineDir, engineDir).map((f) => posix.normalize(f)).filter((f) => f !== 'version.mjs')
111
+ for (const p of present) if (!(p in man.files)) problems.push(`包内多出白名单外文件:${p}`)
112
+ return { ok: problems.length === 0, problems, count: expected.length }
113
+ }
114
+
115
+ if (import.meta.url === `file://${process.argv[1]}`) {
116
+ const args = process.argv.slice(2)
117
+ const outIdx = args.indexOf('--out')
118
+ const outDir = outIdx >= 0 ? args[outIdx + 1] : join(REPO, 'dist', 'argent-engine')
119
+ if (args.includes('--check')) {
120
+ const r = check(outDir)
121
+ console.log(r.ok ? `✅ 引擎包与仓库一致(${r.count} 文件):${outDir}` : `❌ 引擎包不一致:\n - ${r.problems.join('\n - ')}`)
122
+ process.exit(r.ok ? 0 : 1)
123
+ }
124
+ const r = build(outDir)
125
+ console.log(`✅ 已打包 @whyshu/argent-engine(${r.count} 文件)→ ${r.outDir}`)
126
+ }
@@ -0,0 +1,484 @@
1
+ {
2
+ "_doc": "能力包版本锁(迭代3-⑨):由 scripts/capability_pack.py --stamp 生成。内容变了(sha 或 digest 变)而版本没变 ⇒ --stamp 直接拒绝(stamp_check)且 --validate 报错;版本**降**了同样拒绝(--allow-downgrade 才放行,且显著告警);提了版本再盖章。digest = 整包内容摘要,与 --emit-server-manifest#sha256 / --digest-tgz 同口径;批次收口前用只读的 --check-stamp 自检。",
3
+ "capabilities": {
4
+ "daily-report": {
5
+ "version": "1.1.165",
6
+ "flows": [
7
+ "mercadolibre.daily-report"
8
+ ],
9
+ "files": {
10
+ "scripts/dsh-backup-scope.sh": "b17b6cb40b265f87",
11
+ "scripts/dsh-upgrade-readiness.mjs": "9e3640e0bcda0fb8",
12
+ "scripts/dsh-restore.sh": "e5994fbb4a05a037",
13
+ "scripts/dsh-web-launch.mjs": "c0bc990b41e2bf3e",
14
+ "scripts/lib/scope-pointer.mjs": "ed96849df632a73d",
15
+ "scripts/lib/customer-env.mjs": "0456fa4cb84b8fee",
16
+ "scripts/lib/is-direct-run.mjs": "de33d824fe69c0f6",
17
+ "scripts/lib/dep-declaration.mjs": "6a3e1c82a2a540dc",
18
+ "scripts/lib/dsh-scope.mjs": "d28b4d8709af615b",
19
+ "scripts/lib/dsh-versions.mjs": "56ab6d424182dbae",
20
+ "scripts/lib/dsh-host-resolve.mjs": "180a781069a02306",
21
+ "scripts/lib/patch-compose.mjs": "1e2064062799c214",
22
+ "scripts/lib/patch-target.mjs": "9c2970180b25c757",
23
+ "scripts/lib/plugin-lifecycle.mjs": "a69bbc1f60400128",
24
+ "scripts/lib/plugin-packages.mjs": "f4e5c9413b86f6a7",
25
+ "scripts/lib/preset-compat.mjs": "c31d803922894231",
26
+ "scripts/lib/preset-install.mjs": "cf939e22ae82be40",
27
+ "scripts/lib/preset-mechanism.mjs": "b5ad412bacd8db85",
28
+ "scripts/lib/preset-sync.mjs": "372af82d6d70ca4e",
29
+ "scripts/lib/profile-retire.mjs": "9662656632cbe721",
30
+ "scripts/lib/python-runtime.mjs": "aed362e42f0ed24c",
31
+ "scripts/lib/registry.mjs": "c3290d2a3451d7c6",
32
+ "scripts/lib/repo-root.sh": "5d3f4a96a00bf092",
33
+ "scripts/lib/stdio_utf8.py": "20660c69acf24f59",
34
+ "scripts/lib/zstd-frames.mjs": "7748e2905c00306d",
35
+ "scripts/lib/argent-datadir.mjs": "8398972cf7e2504f",
36
+ "scripts/lib/argent_datadir.py": "b7dadcc6eb53d1e8",
37
+ "scripts/lib/argent_filelock.py": "dbbca6d9fae21f4f",
38
+ "scripts/lib/cdp_ports.py": "7697a5c1fbd42c83",
39
+ "scripts/lib/webdriver_ipc.py": "1c6235ab735093e4",
40
+ "scripts/lib/wake-auth.mjs": "6720755c21e18ac2",
41
+ "scripts/argent-datadir.py": "03704861a0f77d22",
42
+ "scripts/env_probe.py": "976171519efe2a69",
43
+ "scripts/feishu-card.mjs": "1041cc0d32ad49a5",
44
+ "scripts/flow-timers.sh": "7400b6d2f5d46f3d",
45
+ "scripts/flow-timers-plist.sh": "a7b1007526fe2192",
46
+ "scripts/flow-trigger-wake.mjs": "0bfd3204f62d7dd9",
47
+ "scripts/flow-trigger.sh": "fe63c8a37b25e2af",
48
+ "scripts/flow-auto-retry.py": "bf4cc963c9f766bd",
49
+ "scripts/flow_billing.py": "70a1129ac75860a1",
50
+ "scripts/flow_claim.py": "5ebe13d0d95f6f28",
51
+ "scripts/flow_config.py": "1c1c1cb1d902f39b",
52
+ "scripts/vertical-init.mjs": "b4f63d71152a84b0",
53
+ "scripts/vertical-lint.mjs": "5babe324ec45e754",
54
+ "scripts/flow_registry.py": "53928b3fb7635156",
55
+ "scripts/flow_failure.py": "220cc33c34edd8fd",
56
+ "scripts/flow_status_reconcile.py": "f17fea943deffb5c",
57
+ "scripts/flow_write_verify.py": "a9123838b00cb60b",
58
+ "scripts/flow_learn.py": "b2e3e99ee5d2e758",
59
+ "scripts/flow_ledger.py": "c4e3012ad9e573aa",
60
+ "scripts/flow_policy.py": "acfc348b29b1282b",
61
+ "scripts/flow_preflight.py": "cf1cf8afbe3cdd63",
62
+ "scripts/flow_retry.py": "e8d03a7e815e0cf8",
63
+ "scripts/flow_return_to_ops.py": "1eb105447aee6206",
64
+ "scripts/flow_sources/__init__.py": "854ec0ac85915ef7",
65
+ "scripts/flow_sources/common.py": "0f1efb103e054220",
66
+ "scripts/flow_sources/feishu_base.py": "6d9a8883adcc0b86",
67
+ "scripts/flow_sources/cases_json.py": "c9b328c2a2890d05",
68
+ "scripts/flow_source.py": "d4ec5d23e807dfa3",
69
+ "scripts/flow_stale.py": "a2877cd8faa7a54c",
70
+ "scripts/flow_triage.py": "12e57412e03f2cfd",
71
+ "scripts/integration_contract.py": "d44690ef41769999",
72
+ "scripts/lease.py": "01356c24658c86e3",
73
+ "scripts/lip_table.py": "5d84ecbd170e4dbb",
74
+ "scripts/ml_store_ids.py": "133e520e0019fae0",
75
+ "scripts/check-model-auth.py": "8652ef62ea0f5557",
76
+ "scripts/check-license.mjs": "87b651ecb49f8067",
77
+ "scripts/license-gate.mjs": "982519f836511986",
78
+ "scripts/check-skill-classification.mjs": "8813287386e28a02",
79
+ "scripts/config-explain.mjs": "7d17980ab2fb17ca",
80
+ "core/cli/argent.mjs": "9a8977324c238ca4",
81
+ "core/mcp/server.mjs": "cb4d4a1150ee96cc",
82
+ "core/mcp/http.mjs": "4388cdb18128844a",
83
+ "core/contracts/argent.contracts.json": "155667b893387663",
84
+ "core/contracts/verbs.schema.json": "4cc63e9709caf1bb",
85
+ "core/lib/argent-datadir.mjs": "7102aedf538c1e93",
86
+ "core/lib/audit.mjs": "b57c233b1926e4ce",
87
+ "core/lib/claim.mjs": "0ab5cfa554446c2c",
88
+ "core/lib/doctor-customer.mjs": "e5de767218dacaf5",
89
+ "core/lib/flow-list.mjs": "8f91b3c796d6724c",
90
+ "core/lib/flow-registry.mjs": "5c4203016cad7beb",
91
+ "core/lib/init.mjs": "651edbc8c94f5afd",
92
+ "core/lib/ledger.mjs": "22546fdd57646947",
93
+ "core/lib/license.mjs": "9b1c22b7e4d13462",
94
+ "core/lib/license-ops.mjs": "7f0148e7cc0460c6",
95
+ "core/lib/license-device.mjs": "c151602bc0839a31",
96
+ "core/lib/license-file.mjs": "14c7d96076e71c15",
97
+ "core/lib/license-guard.mjs": "fb68c1f38a468194",
98
+ "core/lib/license-activate.mjs": "13585e8362400abf",
99
+ "core/lib/license-verdict.mjs": "f8d017c9970663cf",
100
+ "core/lib/python.mjs": "c056844af4a44a65",
101
+ "core/lib/sop.mjs": "57a6abfeeae2c216",
102
+ "core/lib/versions.mjs": "9e9fda66d9ad6391",
103
+ "core/lib/config-catalog.mjs": "26fe694a466b8980",
104
+ "configs/account.json": "3e80bf3bedec835e",
105
+ "configs/advanced.json": "4d87abc94a6b6e56",
106
+ "configs/host.json": "1fcae03c7059ae69",
107
+ "configs/hr.json": "59c0ea732139e7f5",
108
+ "configs/notify.json": "cb9ef11c1c498fcf",
109
+ "core/lib/notify/index.mjs": "f188d62c0dd0e07d",
110
+ "core/lib/notify/verb.mjs": "0878e95ef20fd650",
111
+ "core/lib/notify/dedup.mjs": "86b31bb7fa882a08",
112
+ "core/lib/notify/webhook.mjs": "33708fec34641c8d",
113
+ "core/lib/notify/feishu.mjs": "bdd494330f813546",
114
+ "core/lib/notify/wecom.mjs": "789be0b3e28a151d",
115
+ "VERSION": "97a5d6e540a6120d",
116
+ "scripts/flow_case.py": "03870f8f4f316130",
117
+ "scripts/ml_schema_check.py": "4e7435d0d9a4d999",
118
+ "scripts/telemetry.py": "c0362ae50638f63b",
119
+ "scripts/invoice_ready_audit.py": "f598801d1603d8ea",
120
+ "scripts/invoice_carrier_notice.py": "8b24766ac6793489",
121
+ "scripts/ziniao-auth-probe.sh": "dd0e10f48a67d544",
122
+ "install-argent.mjs": "b3951cea7604eca7",
123
+ "scripts/install-license.mjs": "42c701a4f76d5354",
124
+ "scripts/install-one-shot.mjs": "0824f2547369653a",
125
+ "scripts/migrate-providers.mjs": "1effa539f8d23054",
126
+ "agents/catalog.json": "5356a812f2554dfd",
127
+ "scripts/argent-capabilities.mjs": "7186d7c19f733d98",
128
+ "format-version.txt": "6b86b273ff34fce1",
129
+ "scripts/argent-agents.mjs": "73f4a058df2cd6d6",
130
+ "scripts/check-preset-landing.mjs": "975fcba51fe8e893",
131
+ "scripts/daily-report-reconcile.mjs": "45645f0a1188f9ea",
132
+ "scripts/daily-report.mjs": "2b54210238b75980",
133
+ "scripts/daily-report.sh": "a449e34073c4f12e",
134
+ "scripts/lib/daily-report-core.mjs": "09b8b5d6680333ec",
135
+ "verticals/mercadolibre/prompts/daily-report.failure.md": "d0dfb27c4220c257",
136
+ "verticals/mercadolibre/prompts/daily-report.md": "2c0ed65e1dfd6e64",
137
+ "verticals/mercadolibre/prompts/daily-report.scheduled.md": "f35feafc34f8983c",
138
+ "presets/argent-ml-daily/agent.cordis.yml": "dd8f6e2142e82fb2",
139
+ "presets/argent-ml-daily/format-version.txt": "4355a46b19d348dc",
140
+ "presets/argent-ml-daily/preset.yml": "e5a41be8abb7a515",
141
+ "skills/ml-store-daily-report/SKILL.md": "bf04a23f85523eec",
142
+ "skills/ml-store-daily-report/scripts/README.md": "e1136fe6e2ca0bf2",
143
+ "skills/ml-store-daily-report/scripts/extract.js": "2fb180395d11c3f3",
144
+ "skills/ml-store-daily-report/scripts/generate.js": "68a6abcea8d1109c",
145
+ "verticals/mercadolibre/manifest.json": "257dbaf94a037890",
146
+ "verticals/mercadolibre/flows.json": "6bc3d7198eb23c7c",
147
+ "verticals/mercadolibre/config.json": "85e592d700383b9b"
148
+ },
149
+ "digest": "34f821a8950844505ebc0e88d391d1fb17f9850475e07b34b8eebcca4cbd0bb8"
150
+ },
151
+ "full": {
152
+ "version": "1.3.172",
153
+ "flows": [
154
+ "mercadolibre.full"
155
+ ],
156
+ "files": {
157
+ "scripts/dsh-backup-scope.sh": "b17b6cb40b265f87",
158
+ "scripts/dsh-upgrade-readiness.mjs": "9e3640e0bcda0fb8",
159
+ "scripts/dsh-restore.sh": "e5994fbb4a05a037",
160
+ "scripts/dsh-web-launch.mjs": "c0bc990b41e2bf3e",
161
+ "scripts/lib/scope-pointer.mjs": "ed96849df632a73d",
162
+ "scripts/lib/customer-env.mjs": "0456fa4cb84b8fee",
163
+ "scripts/lib/is-direct-run.mjs": "de33d824fe69c0f6",
164
+ "scripts/lib/dep-declaration.mjs": "6a3e1c82a2a540dc",
165
+ "scripts/lib/dsh-scope.mjs": "d28b4d8709af615b",
166
+ "scripts/lib/dsh-versions.mjs": "56ab6d424182dbae",
167
+ "scripts/lib/dsh-host-resolve.mjs": "180a781069a02306",
168
+ "scripts/lib/patch-compose.mjs": "1e2064062799c214",
169
+ "scripts/lib/patch-target.mjs": "9c2970180b25c757",
170
+ "scripts/lib/plugin-lifecycle.mjs": "a69bbc1f60400128",
171
+ "scripts/lib/plugin-packages.mjs": "f4e5c9413b86f6a7",
172
+ "scripts/lib/preset-compat.mjs": "c31d803922894231",
173
+ "scripts/lib/preset-install.mjs": "cf939e22ae82be40",
174
+ "scripts/lib/preset-mechanism.mjs": "b5ad412bacd8db85",
175
+ "scripts/lib/preset-sync.mjs": "372af82d6d70ca4e",
176
+ "scripts/lib/profile-retire.mjs": "9662656632cbe721",
177
+ "scripts/lib/python-runtime.mjs": "aed362e42f0ed24c",
178
+ "scripts/lib/registry.mjs": "c3290d2a3451d7c6",
179
+ "scripts/lib/repo-root.sh": "5d3f4a96a00bf092",
180
+ "scripts/lib/stdio_utf8.py": "20660c69acf24f59",
181
+ "scripts/lib/zstd-frames.mjs": "7748e2905c00306d",
182
+ "scripts/lib/argent-datadir.mjs": "8398972cf7e2504f",
183
+ "scripts/lib/argent_datadir.py": "b7dadcc6eb53d1e8",
184
+ "scripts/lib/argent_filelock.py": "dbbca6d9fae21f4f",
185
+ "scripts/lib/cdp_ports.py": "7697a5c1fbd42c83",
186
+ "scripts/lib/webdriver_ipc.py": "1c6235ab735093e4",
187
+ "scripts/lib/wake-auth.mjs": "6720755c21e18ac2",
188
+ "scripts/argent-datadir.py": "03704861a0f77d22",
189
+ "scripts/env_probe.py": "976171519efe2a69",
190
+ "scripts/feishu-card.mjs": "1041cc0d32ad49a5",
191
+ "scripts/flow-timers.sh": "7400b6d2f5d46f3d",
192
+ "scripts/flow-timers-plist.sh": "a7b1007526fe2192",
193
+ "scripts/flow-trigger-wake.mjs": "0bfd3204f62d7dd9",
194
+ "scripts/flow-trigger.sh": "fe63c8a37b25e2af",
195
+ "scripts/flow-auto-retry.py": "bf4cc963c9f766bd",
196
+ "scripts/flow_billing.py": "70a1129ac75860a1",
197
+ "scripts/flow_claim.py": "5ebe13d0d95f6f28",
198
+ "scripts/flow_config.py": "1c1c1cb1d902f39b",
199
+ "scripts/vertical-init.mjs": "b4f63d71152a84b0",
200
+ "scripts/vertical-lint.mjs": "5babe324ec45e754",
201
+ "scripts/flow_registry.py": "53928b3fb7635156",
202
+ "scripts/flow_failure.py": "220cc33c34edd8fd",
203
+ "scripts/flow_status_reconcile.py": "f17fea943deffb5c",
204
+ "scripts/flow_write_verify.py": "a9123838b00cb60b",
205
+ "scripts/flow_learn.py": "b2e3e99ee5d2e758",
206
+ "scripts/flow_ledger.py": "c4e3012ad9e573aa",
207
+ "scripts/flow_policy.py": "acfc348b29b1282b",
208
+ "scripts/flow_preflight.py": "cf1cf8afbe3cdd63",
209
+ "scripts/flow_retry.py": "e8d03a7e815e0cf8",
210
+ "scripts/flow_return_to_ops.py": "1eb105447aee6206",
211
+ "scripts/flow_sources/__init__.py": "854ec0ac85915ef7",
212
+ "scripts/flow_sources/common.py": "0f1efb103e054220",
213
+ "scripts/flow_sources/feishu_base.py": "6d9a8883adcc0b86",
214
+ "scripts/flow_sources/cases_json.py": "c9b328c2a2890d05",
215
+ "scripts/flow_source.py": "d4ec5d23e807dfa3",
216
+ "scripts/flow_stale.py": "a2877cd8faa7a54c",
217
+ "scripts/flow_triage.py": "12e57412e03f2cfd",
218
+ "scripts/integration_contract.py": "d44690ef41769999",
219
+ "scripts/lease.py": "01356c24658c86e3",
220
+ "scripts/lip_table.py": "5d84ecbd170e4dbb",
221
+ "scripts/ml_store_ids.py": "133e520e0019fae0",
222
+ "scripts/check-model-auth.py": "8652ef62ea0f5557",
223
+ "scripts/check-license.mjs": "87b651ecb49f8067",
224
+ "scripts/license-gate.mjs": "982519f836511986",
225
+ "scripts/check-skill-classification.mjs": "8813287386e28a02",
226
+ "scripts/config-explain.mjs": "7d17980ab2fb17ca",
227
+ "core/cli/argent.mjs": "9a8977324c238ca4",
228
+ "core/mcp/server.mjs": "cb4d4a1150ee96cc",
229
+ "core/mcp/http.mjs": "4388cdb18128844a",
230
+ "core/contracts/argent.contracts.json": "155667b893387663",
231
+ "core/contracts/verbs.schema.json": "4cc63e9709caf1bb",
232
+ "core/lib/argent-datadir.mjs": "7102aedf538c1e93",
233
+ "core/lib/audit.mjs": "b57c233b1926e4ce",
234
+ "core/lib/claim.mjs": "0ab5cfa554446c2c",
235
+ "core/lib/doctor-customer.mjs": "e5de767218dacaf5",
236
+ "core/lib/flow-list.mjs": "8f91b3c796d6724c",
237
+ "core/lib/flow-registry.mjs": "5c4203016cad7beb",
238
+ "core/lib/init.mjs": "651edbc8c94f5afd",
239
+ "core/lib/ledger.mjs": "22546fdd57646947",
240
+ "core/lib/license.mjs": "9b1c22b7e4d13462",
241
+ "core/lib/license-ops.mjs": "7f0148e7cc0460c6",
242
+ "core/lib/license-device.mjs": "c151602bc0839a31",
243
+ "core/lib/license-file.mjs": "14c7d96076e71c15",
244
+ "core/lib/license-guard.mjs": "fb68c1f38a468194",
245
+ "core/lib/license-activate.mjs": "13585e8362400abf",
246
+ "core/lib/license-verdict.mjs": "f8d017c9970663cf",
247
+ "core/lib/python.mjs": "c056844af4a44a65",
248
+ "core/lib/sop.mjs": "57a6abfeeae2c216",
249
+ "core/lib/versions.mjs": "9e9fda66d9ad6391",
250
+ "core/lib/config-catalog.mjs": "26fe694a466b8980",
251
+ "configs/account.json": "3e80bf3bedec835e",
252
+ "configs/advanced.json": "4d87abc94a6b6e56",
253
+ "configs/host.json": "1fcae03c7059ae69",
254
+ "configs/hr.json": "59c0ea732139e7f5",
255
+ "configs/notify.json": "cb9ef11c1c498fcf",
256
+ "core/lib/notify/index.mjs": "f188d62c0dd0e07d",
257
+ "core/lib/notify/verb.mjs": "0878e95ef20fd650",
258
+ "core/lib/notify/dedup.mjs": "86b31bb7fa882a08",
259
+ "core/lib/notify/webhook.mjs": "33708fec34641c8d",
260
+ "core/lib/notify/feishu.mjs": "bdd494330f813546",
261
+ "core/lib/notify/wecom.mjs": "789be0b3e28a151d",
262
+ "VERSION": "97a5d6e540a6120d",
263
+ "scripts/flow_case.py": "03870f8f4f316130",
264
+ "scripts/ml_schema_check.py": "4e7435d0d9a4d999",
265
+ "scripts/telemetry.py": "c0362ae50638f63b",
266
+ "scripts/invoice_ready_audit.py": "f598801d1603d8ea",
267
+ "scripts/invoice_carrier_notice.py": "8b24766ac6793489",
268
+ "scripts/ziniao-auth-probe.sh": "dd0e10f48a67d544",
269
+ "install-argent.mjs": "b3951cea7604eca7",
270
+ "scripts/install-license.mjs": "42c701a4f76d5354",
271
+ "scripts/install-one-shot.mjs": "0824f2547369653a",
272
+ "scripts/migrate-providers.mjs": "1effa539f8d23054",
273
+ "agents/catalog.json": "5356a812f2554dfd",
274
+ "scripts/argent-capabilities.mjs": "7186d7c19f733d98",
275
+ "format-version.txt": "6b86b273ff34fce1",
276
+ "scripts/argent-agents.mjs": "73f4a058df2cd6d6",
277
+ "scripts/check-preset-landing.mjs": "975fcba51fe8e893",
278
+ "scripts/analyze-full-day.py": "2ee87f3f27929cd9",
279
+ "scripts/ensure-store-windows.py": "8080b5afb7cf95a2",
280
+ "scripts/fulfillment.js": "8de1ea386ebfe628",
281
+ "scripts/ml_capacity_probe.py": "1000b23070ede4a2",
282
+ "scripts/ml_hub_status.py": "4949e6fbec5bbf1b",
283
+ "scripts/orchestrator.py": "712d29e38a15f530",
284
+ "scripts/poll-fulfillment.sh": "ea22afc2b3b822d9",
285
+ "verticals/mercadolibre/prompts/full.failure.md": "92059ed67f6ffd09",
286
+ "verticals/mercadolibre/prompts/full.md": "b7c5e96f7fe2c3be",
287
+ "presets/argent-ml-fulfillment/agent.cordis.yml": "98cdf36b620b7220",
288
+ "presets/argent-ml-fulfillment/format-version.txt": "4355a46b19d348dc",
289
+ "presets/argent-ml-fulfillment/preset.yml": "a03cf86f0373196d",
290
+ "skills/ml-config-guide/SKILL.md": "25fe4acf8fe0b54e",
291
+ "skills/ml-fulfillment-sop/SKILL.md": "2311dd2f94b2699a",
292
+ "skills/ml-fulfillment-sop/references/andes-components.md": "87bdb8e13bb4de5b",
293
+ "skills/ml-fulfillment-sop/references/cdp-port-mapping.md": "2b17fc6dfa1d5538",
294
+ "skills/ml-fulfillment-sop/references/feishu-base-fulfillment-schema.md": "8baa60823eb3fbe4",
295
+ "skills/ml-fulfillment-sop/references/multi-window-concurrency.md": "f83f5235f825b380",
296
+ "skills/ml-fulfillment-sop/references/pitfalls.md": "352093f3a34ef5b0",
297
+ "skills/ml-fulfillment-sop/references/selectors.md": "db3d69bea4610442",
298
+ "skills/ml-fulfillment-sop/scripts/fulfillment.js": "8de1ea386ebfe628",
299
+ "skills/ml-fulfillment-sop/scripts/poll-and-execute.sh": "ab52c3e643dc434e",
300
+ "skills/ml-fulfillment-sop/templates/report.md": "928298680c933665",
301
+ "verticals/mercadolibre/manifest.json": "257dbaf94a037890",
302
+ "verticals/mercadolibre/flows.json": "6bc3d7198eb23c7c",
303
+ "verticals/mercadolibre/config.json": "85e592d700383b9b"
304
+ },
305
+ "digest": "1054695dbc45aae9a2671716f3816d8cd63afcae4db9dd0c0ec2668ae284bb5b"
306
+ },
307
+ "hr": {
308
+ "version": "0.1.74",
309
+ "flows": [],
310
+ "files": {
311
+ "presets/argent-hr/agent.cordis.yml": "a4252f828176033f",
312
+ "presets/argent-hr/format-version.txt": "6b86b273ff34fce1",
313
+ "presets/argent-hr/preset.yml": "fa4b22978ee9efe2",
314
+ "presets/argent-hr-office/agent.cordis.yml": "0598d769110d5391",
315
+ "presets/argent-hr-office/format-version.txt": "6b86b273ff34fce1",
316
+ "presets/argent-hr-office/preset.yml": "0b4d7304a412722a"
317
+ },
318
+ "digest": "77a2c5c367085386ea96b548eb8ec9d30c452752d3f70831cd1053efd0e7ce08"
319
+ },
320
+ "invoice": {
321
+ "version": "1.2.167",
322
+ "flows": [
323
+ "mercadolibre.wenyao-invoice",
324
+ "mercadolibre.xzh-invoice"
325
+ ],
326
+ "files": {
327
+ "scripts/dsh-backup-scope.sh": "b17b6cb40b265f87",
328
+ "scripts/dsh-upgrade-readiness.mjs": "9e3640e0bcda0fb8",
329
+ "scripts/dsh-restore.sh": "e5994fbb4a05a037",
330
+ "scripts/dsh-web-launch.mjs": "c0bc990b41e2bf3e",
331
+ "scripts/lib/scope-pointer.mjs": "ed96849df632a73d",
332
+ "scripts/lib/customer-env.mjs": "0456fa4cb84b8fee",
333
+ "scripts/lib/is-direct-run.mjs": "de33d824fe69c0f6",
334
+ "scripts/lib/dep-declaration.mjs": "6a3e1c82a2a540dc",
335
+ "scripts/lib/dsh-scope.mjs": "d28b4d8709af615b",
336
+ "scripts/lib/dsh-versions.mjs": "56ab6d424182dbae",
337
+ "scripts/lib/dsh-host-resolve.mjs": "180a781069a02306",
338
+ "scripts/lib/patch-compose.mjs": "1e2064062799c214",
339
+ "scripts/lib/patch-target.mjs": "9c2970180b25c757",
340
+ "scripts/lib/plugin-lifecycle.mjs": "a69bbc1f60400128",
341
+ "scripts/lib/plugin-packages.mjs": "f4e5c9413b86f6a7",
342
+ "scripts/lib/preset-compat.mjs": "c31d803922894231",
343
+ "scripts/lib/preset-install.mjs": "cf939e22ae82be40",
344
+ "scripts/lib/preset-mechanism.mjs": "b5ad412bacd8db85",
345
+ "scripts/lib/preset-sync.mjs": "372af82d6d70ca4e",
346
+ "scripts/lib/profile-retire.mjs": "9662656632cbe721",
347
+ "scripts/lib/python-runtime.mjs": "aed362e42f0ed24c",
348
+ "scripts/lib/registry.mjs": "c3290d2a3451d7c6",
349
+ "scripts/lib/repo-root.sh": "5d3f4a96a00bf092",
350
+ "scripts/lib/stdio_utf8.py": "20660c69acf24f59",
351
+ "scripts/lib/zstd-frames.mjs": "7748e2905c00306d",
352
+ "scripts/lib/argent-datadir.mjs": "8398972cf7e2504f",
353
+ "scripts/lib/argent_datadir.py": "b7dadcc6eb53d1e8",
354
+ "scripts/lib/argent_filelock.py": "dbbca6d9fae21f4f",
355
+ "scripts/lib/cdp_ports.py": "7697a5c1fbd42c83",
356
+ "scripts/lib/webdriver_ipc.py": "1c6235ab735093e4",
357
+ "scripts/lib/wake-auth.mjs": "6720755c21e18ac2",
358
+ "scripts/argent-datadir.py": "03704861a0f77d22",
359
+ "scripts/env_probe.py": "976171519efe2a69",
360
+ "scripts/feishu-card.mjs": "1041cc0d32ad49a5",
361
+ "scripts/flow-timers.sh": "7400b6d2f5d46f3d",
362
+ "scripts/flow-timers-plist.sh": "a7b1007526fe2192",
363
+ "scripts/flow-trigger-wake.mjs": "0bfd3204f62d7dd9",
364
+ "scripts/flow-trigger.sh": "fe63c8a37b25e2af",
365
+ "scripts/flow-auto-retry.py": "bf4cc963c9f766bd",
366
+ "scripts/flow_billing.py": "70a1129ac75860a1",
367
+ "scripts/flow_claim.py": "5ebe13d0d95f6f28",
368
+ "scripts/flow_config.py": "1c1c1cb1d902f39b",
369
+ "scripts/vertical-init.mjs": "b4f63d71152a84b0",
370
+ "scripts/vertical-lint.mjs": "5babe324ec45e754",
371
+ "scripts/flow_registry.py": "53928b3fb7635156",
372
+ "scripts/flow_failure.py": "220cc33c34edd8fd",
373
+ "scripts/flow_status_reconcile.py": "f17fea943deffb5c",
374
+ "scripts/flow_write_verify.py": "a9123838b00cb60b",
375
+ "scripts/flow_learn.py": "b2e3e99ee5d2e758",
376
+ "scripts/flow_ledger.py": "c4e3012ad9e573aa",
377
+ "scripts/flow_policy.py": "acfc348b29b1282b",
378
+ "scripts/flow_preflight.py": "cf1cf8afbe3cdd63",
379
+ "scripts/flow_retry.py": "e8d03a7e815e0cf8",
380
+ "scripts/flow_return_to_ops.py": "1eb105447aee6206",
381
+ "scripts/flow_sources/__init__.py": "854ec0ac85915ef7",
382
+ "scripts/flow_sources/common.py": "0f1efb103e054220",
383
+ "scripts/flow_sources/feishu_base.py": "6d9a8883adcc0b86",
384
+ "scripts/flow_sources/cases_json.py": "c9b328c2a2890d05",
385
+ "scripts/flow_source.py": "d4ec5d23e807dfa3",
386
+ "scripts/flow_stale.py": "a2877cd8faa7a54c",
387
+ "scripts/flow_triage.py": "12e57412e03f2cfd",
388
+ "scripts/integration_contract.py": "d44690ef41769999",
389
+ "scripts/lease.py": "01356c24658c86e3",
390
+ "scripts/lip_table.py": "5d84ecbd170e4dbb",
391
+ "scripts/ml_store_ids.py": "133e520e0019fae0",
392
+ "scripts/check-model-auth.py": "8652ef62ea0f5557",
393
+ "scripts/check-license.mjs": "87b651ecb49f8067",
394
+ "scripts/license-gate.mjs": "982519f836511986",
395
+ "scripts/check-skill-classification.mjs": "8813287386e28a02",
396
+ "scripts/config-explain.mjs": "7d17980ab2fb17ca",
397
+ "core/cli/argent.mjs": "9a8977324c238ca4",
398
+ "core/mcp/server.mjs": "cb4d4a1150ee96cc",
399
+ "core/mcp/http.mjs": "4388cdb18128844a",
400
+ "core/contracts/argent.contracts.json": "155667b893387663",
401
+ "core/contracts/verbs.schema.json": "4cc63e9709caf1bb",
402
+ "core/lib/argent-datadir.mjs": "7102aedf538c1e93",
403
+ "core/lib/audit.mjs": "b57c233b1926e4ce",
404
+ "core/lib/claim.mjs": "0ab5cfa554446c2c",
405
+ "core/lib/doctor-customer.mjs": "e5de767218dacaf5",
406
+ "core/lib/flow-list.mjs": "8f91b3c796d6724c",
407
+ "core/lib/flow-registry.mjs": "5c4203016cad7beb",
408
+ "core/lib/init.mjs": "651edbc8c94f5afd",
409
+ "core/lib/ledger.mjs": "22546fdd57646947",
410
+ "core/lib/license.mjs": "9b1c22b7e4d13462",
411
+ "core/lib/license-ops.mjs": "7f0148e7cc0460c6",
412
+ "core/lib/license-device.mjs": "c151602bc0839a31",
413
+ "core/lib/license-file.mjs": "14c7d96076e71c15",
414
+ "core/lib/license-guard.mjs": "fb68c1f38a468194",
415
+ "core/lib/license-activate.mjs": "13585e8362400abf",
416
+ "core/lib/license-verdict.mjs": "f8d017c9970663cf",
417
+ "core/lib/python.mjs": "c056844af4a44a65",
418
+ "core/lib/sop.mjs": "57a6abfeeae2c216",
419
+ "core/lib/versions.mjs": "9e9fda66d9ad6391",
420
+ "core/lib/config-catalog.mjs": "26fe694a466b8980",
421
+ "configs/account.json": "3e80bf3bedec835e",
422
+ "configs/advanced.json": "4d87abc94a6b6e56",
423
+ "configs/host.json": "1fcae03c7059ae69",
424
+ "configs/hr.json": "59c0ea732139e7f5",
425
+ "configs/notify.json": "cb9ef11c1c498fcf",
426
+ "core/lib/notify/index.mjs": "f188d62c0dd0e07d",
427
+ "core/lib/notify/verb.mjs": "0878e95ef20fd650",
428
+ "core/lib/notify/dedup.mjs": "86b31bb7fa882a08",
429
+ "core/lib/notify/webhook.mjs": "33708fec34641c8d",
430
+ "core/lib/notify/feishu.mjs": "bdd494330f813546",
431
+ "core/lib/notify/wecom.mjs": "789be0b3e28a151d",
432
+ "VERSION": "97a5d6e540a6120d",
433
+ "scripts/flow_case.py": "03870f8f4f316130",
434
+ "scripts/ml_schema_check.py": "4e7435d0d9a4d999",
435
+ "scripts/telemetry.py": "c0362ae50638f63b",
436
+ "scripts/invoice_ready_audit.py": "f598801d1603d8ea",
437
+ "scripts/invoice_carrier_notice.py": "8b24766ac6793489",
438
+ "scripts/ziniao-auth-probe.sh": "dd0e10f48a67d544",
439
+ "install-argent.mjs": "b3951cea7604eca7",
440
+ "scripts/install-license.mjs": "42c701a4f76d5354",
441
+ "scripts/install-one-shot.mjs": "0824f2547369653a",
442
+ "scripts/migrate-providers.mjs": "1effa539f8d23054",
443
+ "agents/catalog.json": "5356a812f2554dfd",
444
+ "scripts/argent-capabilities.mjs": "7186d7c19f733d98",
445
+ "format-version.txt": "6b86b273ff34fce1",
446
+ "scripts/argent-agents.mjs": "73f4a058df2cd6d6",
447
+ "scripts/check-preset-landing.mjs": "975fcba51fe8e893",
448
+ "scripts/invoice_fail_closeout.py": "6dbed32a633b9e3e",
449
+ "scripts/invoice_lip_runner.py": "885d3bf0b4a26811",
450
+ "scripts/invoice_stageb.py": "316575ca51855f7e",
451
+ "scripts/wenyao-invoice-writeback.mjs": "5fd8295ef47480a1",
452
+ "scripts/wenyao-template-map.json": "8ea6a7bcedda50cc",
453
+ "scripts/wenyao_fill_template.py": "05cff1f1f3360dfc",
454
+ "scripts/wenyao_portal.py": "9add9a63b6d855d1",
455
+ "scripts/wenyao_run.py": "a964fc14007f6ac1",
456
+ "scripts/wenyao_shadow_diff.py": "2949f9ccec377428",
457
+ "scripts/wenyao_skill_contract.py": "0f9b04ff1dbb0ce5",
458
+ "verticals/mercadolibre/prompts/wenyao-invoice.failure.md": "7cbef74b2f6044fd",
459
+ "verticals/mercadolibre/prompts/wenyao-invoice.md": "31bdadd6f9de2ea7",
460
+ "verticals/mercadolibre/prompts/xzh-invoice.failure.md": "16c7b763fc6c2b32",
461
+ "verticals/mercadolibre/prompts/xzh-invoice.md": "2fbc3d08065ac5a6",
462
+ "presets/argent-ml-invoice-wy/agent.cordis.yml": "04caad94a8c970e3",
463
+ "presets/argent-ml-invoice-wy/format-version.txt": "4355a46b19d348dc",
464
+ "presets/argent-ml-invoice-wy/preset.yml": "acf96c207b9b3e72",
465
+ "presets/argent-ml-invoice-xzh/agent.cordis.yml": "2ebcbe7751f3accc",
466
+ "presets/argent-ml-invoice-xzh/format-version.txt": "4355a46b19d348dc",
467
+ "presets/argent-ml-invoice-xzh/preset.yml": "0cebebac0b5166ee",
468
+ "skills/ml-config-guide/SKILL.md": "25fe4acf8fe0b54e",
469
+ "skills/ml-invoice/SKILL.md": "bbc41260a0d0eeed",
470
+ "skills/ml-invoice/references/pitfalls.md": "b1f64593ee3bb2ad",
471
+ "skills/ml-invoice/references/portal-flow.md": "f2e12383f813acba",
472
+ "skills/ml-invoice/references/template-fill-contract.md": "aad3633c9035fe89",
473
+ "skills/ml-invoice-xzh/SKILL.md": "8d4002e56f931350",
474
+ "skills/ml-invoice-xzh/references/pitfalls.md": "e77e5ac70ddc018a",
475
+ "scripts/integrations/wenyao/adapter.py": "e00ba58470075c97",
476
+ "scripts/integrations/xzh/adapter.py": "e6cf54d2f842a0b2",
477
+ "verticals/mercadolibre/manifest.json": "257dbaf94a037890",
478
+ "verticals/mercadolibre/flows.json": "6bc3d7198eb23c7c",
479
+ "verticals/mercadolibre/config.json": "85e592d700383b9b"
480
+ },
481
+ "digest": "02fb29f88db3c22fb818ce86380a81ac6b68199bb93d0663adb3dd15801cf9a1"
482
+ }
483
+ }
484
+ }