@whyshu/argent-engine 0.7.3 → 0.7.5

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 (45) hide show
  1. package/MANIFEST.json +39 -28
  2. package/engine/VERSION +1 -1
  3. package/engine/scripts/appointment-create.mjs +34 -0
  4. package/engine/scripts/appointment-stop.mjs +18 -0
  5. package/engine/scripts/appointment-worker.mjs +96 -0
  6. package/engine/scripts/appointment_grab.py +327 -0
  7. package/engine/scripts/argent-runner.mjs +223 -0
  8. package/engine/scripts/argent-setup-check.mjs +3 -3
  9. package/engine/scripts/capability-packs.lock.json +33 -39
  10. package/engine/scripts/check-agent-catalog.mjs +1 -1
  11. package/engine/scripts/check-config-catalog.mjs +0 -1
  12. package/engine/scripts/collect-evidence.mjs +2 -5
  13. package/engine/scripts/daily-report.mjs +315 -12
  14. package/engine/scripts/dsh-upgrade.mjs +18 -5
  15. package/engine/scripts/flow-requirements.json +5 -7
  16. package/engine/scripts/flow-timers.sh +1 -1
  17. package/engine/scripts/flow-trigger.sh +1 -1
  18. package/engine/scripts/gen-preset-rows.mjs +20 -0
  19. package/engine/scripts/invoice_stageb.py +20 -1
  20. package/engine/scripts/lib/agent-install.mjs +10 -1
  21. package/engine/scripts/lib/daily-report-core.mjs +124 -16
  22. package/engine/scripts/lib/dsh-versions.mjs +17 -1
  23. package/engine/scripts/lib/ml-ads-core.mjs +204 -0
  24. package/engine/scripts/lib/plugin-packages.mjs +1 -0
  25. package/engine/scripts/ml-ads.mjs +181 -0
  26. package/engine/scripts/ml-oauth-setup.mjs +1 -1
  27. package/engine/scripts/p2-report-run.mjs +102 -0
  28. package/engine/scripts/patches/dsh-session--append-message-shape.patch +34 -9
  29. package/engine/scripts/patches/dsh-session-format-v3-to-v4--turn-outside-replace.patch +44 -0
  30. package/engine/scripts/patches/verify-hardening.mjs +4 -1
  31. package/engine/scripts/patches/verify-turn-outside-replace.mjs +64 -0
  32. package/engine/scripts/poll-fulfillment.sh +1 -1
  33. package/engine/scripts/profile-doctor.mjs +1 -1
  34. package/engine/scripts/python-runtime.sh +16 -4
  35. package/engine/scripts/release-argent.sh +8 -7
  36. package/engine/scripts/session-load-check.mjs +105 -0
  37. package/engine/scripts/sync-scripts.sh +1 -1
  38. package/engine/scripts/xzh-browser.sh +37 -0
  39. package/engine/scripts/xzh_browser.py +49 -0
  40. package/engine/skills/ml-full-appointment/SKILL.md +98 -0
  41. package/engine/version.mjs +1 -1
  42. package/package.json +1 -1
  43. package/engine/scripts/drill-clean-machine.sh +0 -315
  44. package/engine/scripts/install-internal-role.sh +0 -190
  45. package/engine/scripts/install-one-shot.mjs +0 -665
package/MANIFEST.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "schema": 1,
3
3
  "package": "@whyshu/argent-engine",
4
4
  "files": {
5
- "VERSION": "9c788a838dc1f6bfd80fa39757a95f94260071c35011c9a05301da1c73507657",
5
+ "VERSION": "966f2f8695b5c07de3f37c682b1409da1ac84b5c7ce04a27068bb4c017ac0cb8",
6
6
  "agents/catalog.json": "5356a812f2554dfd3115370363d4c3f787a82c9e5928a85d05b2a07c9e4b324d",
7
7
  "configs/_aliases.proposed.json": "3a59edf80563bcc20d410d488decad6fd787bd3de9489321367b0783904cd3e5",
8
8
  "configs/_migration-plan.proposed.json": "dd9f90b0b9b2f217dd23367a618402e57997d44f7fddcfa88a7cadf52e056c0d",
@@ -44,6 +44,10 @@
44
44
  "core/mcp/server.mjs": "cb4d4a1150ee96cc950ff598be76b0dc695fdc0c739c9f78a7da9f4293a6369a",
45
45
  "scripts/_engine_rules_probe.py": "ad8f45dc0f37852259461a25fb648b11df818089ba40f980dfa72b7e201a03d9",
46
46
  "scripts/analyze-full-day.py": "2ee87f3f27929cd9407109121e670b56c296f39b0a3e18b075524b54a7d4471c",
47
+ "scripts/appointment-create.mjs": "f8e0e0aae2aa60c554e4f4f857fae4f5db597ea22b002ce5b3195b6207b70aee",
48
+ "scripts/appointment-stop.mjs": "2e0a965346d33ef8683da5473c48df7f4e66ee8a3167526ee6b568e1adf5c91d",
49
+ "scripts/appointment-worker.mjs": "2b5b6951233704bae46d55898cabc42d004424e66515f15930e34a377462a31e",
50
+ "scripts/appointment_grab.py": "e043898e247e759b24e5b34003dee1d9ceb0807a634aef2f16c744e93375bdc1",
47
51
  "scripts/archive/feishu-bridge.js": "e6714c72022892d0c527d1fc9ae0f8ff99f9ab3bd0363329979b423246684885",
48
52
  "scripts/argent-agents.mjs": "73f4a058df2cd6d62b285ea48a5e32881db678b63007d1ac2f218005cb28c18d",
49
53
  "scripts/argent-capabilities.mjs": "7186d7c19f733d987a7afe2355dd7d788333a15c0f80811c4cde4e7a32584c4e",
@@ -51,20 +55,21 @@
51
55
  "scripts/argent-datadir.py": "03704861a0f77d229e179a8b1f685cbe900cc94a48907bb8fc73c798a7aec89d",
52
56
  "scripts/argent-doctor.mjs": "3882cd8e0dab49263f48625ab029fd926e3275a13842c8d348c06c71f81f3525",
53
57
  "scripts/argent-env-write.mjs": "cb9ad01881f2b9236fff5af9238b1bf7c3db54465558550ac914c856be2ad66d",
58
+ "scripts/argent-runner.mjs": "534ebb3b76731e76cffa3cd0ef56cf60e34e4113f923dce3ddc97400eb38f92d",
54
59
  "scripts/argent-schedule.mjs": "d8235a4961fca28bcff3b5f28f8a9c3323f3e2707b6d017742d123d6c8c940d9",
55
- "scripts/argent-setup-check.mjs": "91a5752f8b4bb0a2748b831cb27809e8942ba7ddf99162a61582f732175c6041",
60
+ "scripts/argent-setup-check.mjs": "44d3558ae6eebd5cc2dd25752019d3386190e63006b544e1ceee3f4f1c526aff",
56
61
  "scripts/argent-upgrade.mjs": "ba75148cb3c27b4aab2b184d1320d4b57a203adf8b90214fa3d62880685a0d81",
57
62
  "scripts/audit-all.mjs": "54c21512dc7c192fba21e45aab19502e070fecc4d0686fabb1fbdba0d7140794",
58
63
  "scripts/base-bootstrap.sh": "d44361618f808533fc11e8acdbccf5dfa53822a745e7c7a84bbd09885f6d6c2e",
59
64
  "scripts/billing-mode-daily.sh": "830e2dca9f362d1098239111479794a68d4a34071242daaeb04c36cf858cd175",
60
65
  "scripts/build-engine-package.mjs": "d2771385dfebfaaaae9c4dd9cc36a0bf1dd1536d1d95463fea9d5656fb9a1a98",
61
- "scripts/capability-packs.lock.json": "b30a01c1873f5ea216443803aa23b901ff18265ba5d4ca7b32556c07f1ceebfe",
66
+ "scripts/capability-packs.lock.json": "2b83264992d6395e532fa7e70c07775fae5a9e71daf286cc1efc1dc51b033eae",
62
67
  "scripts/capability_pack.py": "d21bca70deadab6bb818a3f2e12721c7eeb1c690bb382daae752620db8db5cb3",
63
68
  "scripts/check-1.0-criteria.mjs": "8fe145a83c4060c51a678eb2586b87a78b66d1456cebc95c52f7789aeb181c66",
64
- "scripts/check-agent-catalog.mjs": "25d68748cb507c0c70c43fefb8bf895944480de4f9306196588cd1af8e62250c",
69
+ "scripts/check-agent-catalog.mjs": "340be84cfad2f3cd7049545e6c953c9ce54523bdf6ad60dff1ad7925293821bc",
65
70
  "scripts/check-billing-mode.sh": "223bdec2370adbd0ee626e645a240bda7a806343c5bc19139b09df01f71ff918",
66
71
  "scripts/check-child-sessions.mjs": "eed280e629c87a581d1520fdab4eb5fec544e17a064ea38f174be450678e8eee",
67
- "scripts/check-config-catalog.mjs": "a793c6f01f9952b5b5714f1d7ef50b4e556a81f5a9812e2d64b57705b7749fb1",
72
+ "scripts/check-config-catalog.mjs": "0032fd3fcddf7b9e429df990036b536ee361f6b7a6d05982028a177d670ee70a",
68
73
  "scripts/check-docs-drift.mjs": "31eeb316d96de254638e511d8929be945ad8c0ee312eba123cfaf2fd9fb100e2",
69
74
  "scripts/check-dsh-web-expose.sh": "5e7bc6e844925b3a90605e3466419671ae46bfe418246fdef97ef28fabeb20db",
70
75
  "scripts/check-judgment-drift.mjs": "7f9b8ddbdc08b492c45f6a14a6608a35b78a93f0de05fbbf235a4309e7976293",
@@ -81,7 +86,7 @@
81
86
  "scripts/check-test-env-safety.mjs": "7050d08972277a4d8b5c01e2ae16b96c6f45ad289e12d039948e3b6b3a2d95cc",
82
87
  "scripts/check-version-consistency.mjs": "621b4f58c0f7e3689fa663173f13830fa82fe5690b63fb64b3891553ae9b22e9",
83
88
  "scripts/ci-run.sh": "e6c6cf2b7b8e8f0f80da1afd1341a218338e85c26a7b8fea7c95b04ce90ebf82",
84
- "scripts/collect-evidence.mjs": "0611287b5778f5889d6ee158c85398834e1b2f332e3a71ed709010e747f14808",
89
+ "scripts/collect-evidence.mjs": "5cb43aa19ce773d5029edc9947996fc9aa32fd023050e7720f8992268e9482a2",
85
90
  "scripts/config-explain.mjs": "7d17980ab2fb17cad0deacc529650554e09b50d37af0aa43b7b29af3ffa8fffc",
86
91
  "scripts/configure-provider.rb": "cc84e2a714885a1f3ccaef9c4042cf72072d49a5b4538f1681fe7df2ab037315",
87
92
  "scripts/criteria-table.mjs": "c178e8a9263d3218cacd03aaf16473420ae89fa200f1f4e38c5f4a495dfed137",
@@ -90,14 +95,13 @@
90
95
  "scripts/customer-readiness.sh": "9e24d0041ccc3f82672b038e82452b8453c108a9b9403a6faf25f252cd67de0f",
91
96
  "scripts/daily-report-inbox.py": "e4c31328b142088657eed70ba5088db37c79de0a3dd882da8d7bb7503c21cf22",
92
97
  "scripts/daily-report-reconcile.mjs": "45645f0a1188f9eacfef5d30c74eccc521af40aa600a657a067bcfa196426143",
93
- "scripts/daily-report.mjs": "2b54210238b75980cdce807e3ca48bdf6cac48dcf24cc36709eb22152d50685f",
98
+ "scripts/daily-report.mjs": "5a761a593f5db534a27fdd30c04ad4f45e3ce0cba31eaaca07201f9d3dc21e69",
94
99
  "scripts/daily-report.sh": "a449e34073c4f12ecbdd149b7b8347327500407a09f7f54ef166d8483b8b6bb5",
95
100
  "scripts/data/lip-product-dict.json": "453641ff5c5f0e32b1338ecbf53ab9c9994cca30d1e21cca56e2bc2c02ce1261",
96
101
  "scripts/deliver-customer.mjs": "012c377b473b190974573457124fdcd018f769d52196b3960ba7aa070ca3b48f",
97
102
  "scripts/delivery-faces.txt": "385fc67bbd8100b6e7ecc870f2ae95d8bdf18b34e18df6b60589a98a332e4f7d",
98
103
  "scripts/desktop-trial.sh": "fde663b5b94f934d4f71769ed1d6876141022f264753862997126fd8f7b8fab2",
99
104
  "scripts/dev-window.sh": "09a98babff27d2f30048326339603cc926571a2e52befabbda186ed14ff14b16",
100
- "scripts/drill-clean-machine.sh": "06b5242de621545915901f502f2847ec4bf58d276d169fe6be6af4e5952009ad",
101
105
  "scripts/drill-clean-room.sh": "e835d24d5762a6bb5a06e880fb05ca2f561de8c451b5f28f0ec74217b92dd395",
102
106
  "scripts/drill-handover.sh": "d6210a68612656604edbb2745f5084f73e4f0069e5f8109c203b76e1e08981ed",
103
107
  "scripts/dsh-api-client.mjs": "5065560c8f2f8e77ad44ac6f300bb79417047a54cc7f3796ce4e926d6a4fc389",
@@ -115,7 +119,7 @@
115
119
  "scripts/dsh-scope-rewire.mjs": "cb74c334b81e7c6e93bfd6cea3e82c1a568b5c85987545b276d13014f00b44d5",
116
120
  "scripts/dsh-snapshot.mjs": "c28fb76b77276fb4207e10261fb07f3526a6b6cec832b21ba310be62a5968753",
117
121
  "scripts/dsh-upgrade-readiness.mjs": "9e3640e0bcda0fb818d8df1bad9d3a37be364775601859b0668f99b81243d602",
118
- "scripts/dsh-upgrade.mjs": "82169bd760805d53d85f93fed9cc544928e2d140358f4d02a0796dff5ab68840",
122
+ "scripts/dsh-upgrade.mjs": "62eda97de6fb29243fc22c63f02ce2c7f06786254cb70ba542c0daabe5979019",
119
123
  "scripts/dsh-url.sh": "f45619b9029836e7fb224ed04d0e849e1af32f457434fb49732b39b0e825f040",
120
124
  "scripts/dsh-web-launch.mjs": "c0bc990b41e2bf3e07514a3672f99a49031a838ce153a8ce8eae3713112e1e6c",
121
125
  "scripts/ensure-store-windows.py": "8080b5afb7cf95a2203cfe46e34773ea4bcb945718f26cb837248860701c08f4",
@@ -125,12 +129,12 @@
125
129
  "scripts/final-check.mjs": "45e2004e778c83fe08b35921a555b2ca57ddb375672cc965544ef1bb6ff10aa8",
126
130
  "scripts/fix-skill-frontmatter.py": "c77cb8d389bd96bc40655bbdd712435bfb06f74453a2f54dad58013f615ea748",
127
131
  "scripts/flow-auto-retry.py": "bf4cc963c9f766bd9011f4a252eb7a411b1b1a53cdd0e25c09c6dad95e1d44fa",
128
- "scripts/flow-requirements.json": "84f8a640f095630abfe55f62014c286062dc0fc75b51b32592374121474724ee",
132
+ "scripts/flow-requirements.json": "5265a51982407bbd4a6c7a6803dd725ecffb6ed5735833664b7610200e0a92d8",
129
133
  "scripts/flow-scaffold.py": "d886e4e5d5cf0e80991d1d1a40e54a7281d87fec7c781c89101277795e401ae1",
130
134
  "scripts/flow-timers-plist.sh": "a7b1007526fe21923566a002ef4e50fade5cbcdef38799f1a52e50c7b9c21131",
131
- "scripts/flow-timers.sh": "7400b6d2f5d46f3d96e04f348dc0422650eb40f8c2d4d9ab526c40ba988d4448",
135
+ "scripts/flow-timers.sh": "d8eed8c3391e67e2601cc66ea45f3f7ffa3bbf617d8a2d4a27ad178c6cc738ff",
132
136
  "scripts/flow-trigger-wake.mjs": "0bfd3204f62d7dd9b3f4f2fa69e0d1b9410e86f17948c06273dc488e64170c8f",
133
- "scripts/flow-trigger.sh": "fe63c8a37b25e2af94897b62cd0a47bc3bf830a4cba4895b4f42c01674948048",
137
+ "scripts/flow-trigger.sh": "23d8a37e1577eb01b5b35d3201a9199389c026bac267669ea33a71f4b0472116",
134
138
  "scripts/flow_billing.py": "70a1129ac75860a120fbf9c961cda9d33c9dfe4ae178a697d6a4ef1479387e3c",
135
139
  "scripts/flow_capability_stats.py": "68babceb21ff47eaec6cd5119539dea6726c1e058341ae4a2533f01b13ec3baf",
136
140
  "scripts/flow_case.py": "03870f8f4f3161302c7d43777c3c914205e088c6ebe4f9f4664caf9e76ccf266",
@@ -155,12 +159,10 @@
155
159
  "scripts/flow_write_verify.py": "a9123838b00cb60b43fbc761f6dae740dfa3692906c2985e9b98a7c4538c2491",
156
160
  "scripts/fulfillment.js": "8de1ea386ebfe628caf4eaf2df5f1941938c07d4b8b2dcf79a78d45ac231669f",
157
161
  "scripts/gen-agent-bundles.mjs": "452582961b40e7b035d1ba423c1342321c9685f8bb622a2117e6027ec4fc4062",
158
- "scripts/gen-preset-rows.mjs": "029a352ab5a1c05e213ff425b6bd839e2880fce4b72dbabb22f5a4df48b00021",
162
+ "scripts/gen-preset-rows.mjs": "d1b11c90126e28e671871c6904cbf366b8485b936899c48156a75ddf6f5b1fb0",
159
163
  "scripts/handover-sheet.mjs": "4e27095ccdd79586391abf7a7d5eb7aabbc3f0d7d9a1dd5161e9af8e8a9338de",
160
164
  "scripts/init-ml.sh": "c5a04fc723a4b254d7d92990ca31adb1100de666821e3a236285aaf3516453f7",
161
- "scripts/install-internal-role.sh": "6fe76b3a2604658341d75bce4d8ca0f03a18898982a33eefe414059e7bc2226e",
162
165
  "scripts/install-license.mjs": "6bac5b31647f1e84300fb54711e6852f978ce056d5b0c9ad706a25003ff2d4f9",
163
- "scripts/install-one-shot.mjs": "0824f2547369653a08314dc2a4f70abb39650613a8fcbdd65ea07e1d9b47d331",
164
166
  "scripts/integration_contract.py": "d44690ef41769999db2dbdaac6294ff6655678c2f60f134b9ee3b4776dcb73c8",
165
167
  "scripts/integrations/wenyao/adapter.py": "e00ba58470075c9728d4d84447d931ac18a7798c23035047b4a99800c521bdf6",
166
168
  "scripts/integrations/xzh/adapter.py": "e6cf54d2f842a0b24e54fdde58393add8f2e9e444848ff3a6a073822593ed97e",
@@ -172,11 +174,11 @@
172
174
  "scripts/invoice_lip_runner.py.bak-20260922-1710-freready": "95d95e7d3aa9f46cca93e1a70d86f6ffe8f6bca07a9c1ebba1bbf993abdd09e6",
173
175
  "scripts/invoice_ready_audit.py": "f598801d1603d8ea5ca7d433bb4e3eee230eeceb1b99448be6ef75397cb6e8a0",
174
176
  "scripts/invoice_runner.py": "6b8744ad50173be9d4c8a8875400399594c7ba43e485cfbccd1c911191d8fdd1",
175
- "scripts/invoice_stageb.py": "316575ca51855f7efde6a6f4f902f4d48138e310f988e6a68610d3524ba9de69",
177
+ "scripts/invoice_stageb.py": "c15626379844731c2cb2863a58aa7f456f134f3eb550445c74ae5c271f177724",
176
178
  "scripts/launchd/com.whyshu.argent-bridge.plist.example": "7b19f77545a9e622bddf5ad443a5fd5c7ddf49540ae8a71bd065e18c8a2b5613",
177
179
  "scripts/launchd/com.whyshu.fulfillment-poll.plist.example": "01c6c1bbd9ad4ab17fcb3029b7f783691ed8f6536b1c020ec64c3f62812f0b9a",
178
180
  "scripts/lease.py": "01356c24658c86e3a19e2e8d46bf29044f75cb3dc39a5a6016ecbf1d44badd77",
179
- "scripts/lib/agent-install.mjs": "538d1efa746679d10848763db0ddd2e76115964746f2e423a22cae1a8571e423",
181
+ "scripts/lib/agent-install.mjs": "d0d006e705ff3afe73015dab8aa6bc0e18b556d88d7143c5453d99487b34791a",
180
182
  "scripts/lib/argent-datadir.mjs": "8398972cf7e2504f53ca72ff6d72bf9339f20dad0e18d0c557a39a4367fba265",
181
183
  "scripts/lib/argent-datadir.sh": "efa0b28c447f1923f5d94ecfd285c48fc180e191ff1febf3246877e48e93312b",
182
184
  "scripts/lib/argent_datadir.py": "b7dadcc6eb53d1e818090d8a46d8b94c4b61dadd0f4e674a3f0171474fba3efc",
@@ -184,19 +186,20 @@
184
186
  "scripts/lib/bootcheck-wiring.mjs": "9c14308bed9456a3564a44d4bb6bb4452ca839b4675540431219ac753c01b62b",
185
187
  "scripts/lib/cdp_ports.py": "7697a5c1fbd42c83829b2963d17ae6cbc52c797e4f308c4743c75b930ada9584",
186
188
  "scripts/lib/customer-env.mjs": "0456fa4cb84b8fee1d8a5864fed2e615eb59195d572a96d87e11b0216b14a522",
187
- "scripts/lib/daily-report-core.mjs": "09b8b5d6680333ec9922a251ea098ecf0cbf02f3243f2992c6d7e82b0f985da1",
189
+ "scripts/lib/daily-report-core.mjs": "1223b3bbdc2e9e99812db09f9352704eeb8f34c757aac816d1b5dd36f8e61eda",
188
190
  "scripts/lib/dep-declaration.mjs": "6a3e1c82a2a540dc45aa95bad95a8a2917e2ded48b97719a22bde4c1dd482398",
189
191
  "scripts/lib/deps-migrate.mjs": "e611e9781b30d8849135cf94b71a314598be1247252d8a04ada1187485466dcc",
190
192
  "scripts/lib/dsh-host-resolve.mjs": "180a781069a023063c0410167a40ecdd52fa9049fb2995eb36d7757436c0777d",
191
193
  "scripts/lib/dsh-scope.mjs": "d28b4d8709af615b7eded2cf962f9c5b241e47fe0d8a39e71ea6f6614cecbab2",
192
194
  "scripts/lib/dsh-snapshot-path.mjs": "b2d47a75f493e991aae73dfbb7874717997ea916a6267fb47d9024d4f9a37388",
193
- "scripts/lib/dsh-versions.mjs": "56ab6d424182dbaea5a3645f00b3c8e9996eb034020d483f570e66d89a845715",
195
+ "scripts/lib/dsh-versions.mjs": "eb5a607396f46d139a4d75ffdae2e9136cad4e65ac7c662412e42efd214bf361",
194
196
  "scripts/lib/dsh-web-probe.mjs": "0af132c5fcc6afc61f10837b7c909ef24cb1d6c9d96b191d3162c39a059fec07",
195
197
  "scripts/lib/is-direct-run.mjs": "de33d824fe69c0f627c3b516c4e6d533559d24dcfdcf459b35d2f89da8b401cb",
198
+ "scripts/lib/ml-ads-core.mjs": "c4c07560dbca3d11dd33b8be52dc25d3c043e21a3c45a501c3ebc0880a76420a",
196
199
  "scripts/lib/patch-compose.mjs": "1e2064062799c214c8fea1bf3403c7dea7854d0c29e7bbe2ab82ad994dfc636e",
197
200
  "scripts/lib/patch-target.mjs": "9c2970180b25c757f959ff9aa34d9cafdee8747351893ab59826b407940a272e",
198
201
  "scripts/lib/plugin-lifecycle.mjs": "a69bbc1f60400128b4999ac4d81b466bd7e68d8fd4076d2ac963908635901c08",
199
- "scripts/lib/plugin-packages.mjs": "f4e5c9413b86f6a7a89cf1b741637c3d2c2956a58c9e0c67efe5a63988736f37",
202
+ "scripts/lib/plugin-packages.mjs": "238f80a7eb7f190668dfa4515a4430b6c8d05589f8f14d6eb84bb85ab430f5f1",
200
203
  "scripts/lib/preset-compat.mjs": "c31d803922894231f24ce7baba1468ef590a4dae011fcb33de6e4083750c1918",
201
204
  "scripts/lib/preset-install.mjs": "cf939e22ae82be40c9823e102d5c453fd4a5d5c5b4e0ae1acd0ca36eb2414c45",
202
205
  "scripts/lib/preset-mechanism.mjs": "b5ad412bacd8db85c334fddda858069336100395632b6c076735e800a9b1f358",
@@ -220,7 +223,8 @@
220
223
  "scripts/local-usage.mjs": "a5148d43b303d7fba960a5448c9537cc80db96da0323708c27f99217510ff74f",
221
224
  "scripts/migrate-providers.mjs": "1effa539f8d23054f18c0de5219b111a4fe2da55f2ee873ca8dac6d4418578cb",
222
225
  "scripts/migrate-skills.sh": "2ff1f12b80135d27d275d9809e8f1721b6f0f725b1a951c62f3d8a03b3bec5fa",
223
- "scripts/ml-oauth-setup.mjs": "5d14a34c38df8dc4bcc1a10ca8582a4c1e2708bcfa7bb93946289294f9315eb0",
226
+ "scripts/ml-ads.mjs": "3ab5204f70b72cfe1f3e0dee18016d1e6db082d998af46d3f7a9772344eacaed",
227
+ "scripts/ml-oauth-setup.mjs": "bbeed80575f075e292953970831e25d634e662ab374cf00e0a8c88ee65acfc13",
224
228
  "scripts/ml-store-ids.json": "0c5d8672ff451bc84eb833f644ef67fc46ec45a5e057cb57a6934202add60964",
225
229
  "scripts/ml_artifact_attribution.py": "e7aa6c87b24c8532f34151cc95bb7e937fcebebd00ad414c95549e0a0cc6cb22",
226
230
  "scripts/ml_capacity_probe.py": "1000b23070ede4a21d918f60023be13a3df934d2c99ef03ee99ece49d0998b35",
@@ -230,27 +234,30 @@
230
234
  "scripts/npm-publish-argent.mjs": "f3068945bcd6e659414bcd396d08940ed4b80f7ed296dd0cebf9138325526d26",
231
235
  "scripts/npm-publish-argent.sh": "9e54b17b011bbaaffdc9dfdded18196d83fc00363c405179e5ec45beb712c555",
232
236
  "scripts/orchestrator.py": "3faf007308d1a52f47f2dcf712a02f613c8e3f0bbf539043364a91073307803b",
237
+ "scripts/p2-report-run.mjs": "86bd6b3005f1a5fca3f808f4ea77dcce43a11a4a9be7ee814a029daaae201fb5",
233
238
  "scripts/pack-plugins.mjs": "b1b42fb30ebd27f320af72bc28b5b8e2b76e54031b4ac1ba5c3909374990b38b",
234
- "scripts/patches/dsh-session--append-message-shape.patch": "e3cec86174e226d75aa6ff3aa992f447fd8f4ac8607d8506fa79489319829f85",
239
+ "scripts/patches/dsh-session--append-message-shape.patch": "e4cd6447d4fdd03ff5fa94fd5ff62234168740b901804f687d91006fdedf66a1",
235
240
  "scripts/patches/dsh-session--tool-result-block-017.patch": "6c30d59073231ab9e9c6fd0203e9d435003c9770a2d65341e34e106bd8832577",
241
+ "scripts/patches/dsh-session-format-v3-to-v4--turn-outside-replace.patch": "1ca71eaa67c949150a45a875efb60eda5b7dca20114498e2d2dbf49fb3f65f4b",
236
242
  "scripts/patches/dsh-tools--render-return-shape.patch": "33e30b094c95fc0f1a966b6d5e20c157ce157f0c874445da408c1338371fb5e5",
237
243
  "scripts/patches/retire-check.py": "bde824e15e1640d5106802adf6cf86d0ecc695731cfb68fd375d4d4a9b4fc5cc",
238
244
  "scripts/patches/retire-check.sh": "a93b2ad431910e06630982cf526cba41377b207c7e1f388692079da16a9bbb45",
239
- "scripts/patches/verify-hardening.mjs": "a7b5b36cfbdf2c006dc4f8a96caf5b43517bca873e29b6a281ce82c6cd7cfd1c",
245
+ "scripts/patches/verify-hardening.mjs": "72c7118d4cac728a0c7e19af7934c57f026f8c879d6b629f5925434170c5aef4",
240
246
  "scripts/patches/verify-session-migration.mjs": "0f6b3a177306fd4cbbe87b4423b7ff5f0d18e4e77bfa50b385ecc354dea90c17",
247
+ "scripts/patches/verify-turn-outside-replace.mjs": "eeff9c907e8509652759fb3d1ce864e828a68ec882c977c8d819be165817f96d",
241
248
  "scripts/plan-role-rename.mjs": "63a52ddaeb1ca2a246fcbf069318166fe5d0abee6003e5304b3e771defb43da2",
242
249
  "scripts/plugin-bootcheck.mjs": "7315272fccf171c841d41ea1133dc12a2a96782096317541d5bb2a2e14782a5b",
243
250
  "scripts/plugin-composition.json": "99c545b56828d81882bc126eac3c3826e04146c3bb68be288a2b3c3e4ed11b9d",
244
251
  "scripts/poc-mcp-host.mjs": "5c4befdc95f98bf9c84f94bb525b245248c751e08e3fc09bb987781e9e4859cb",
245
- "scripts/poll-fulfillment.sh": "ea22afc2b3b822d9b05dc0cf7123445bad06674bcd12946477392c5c37e33e7e",
252
+ "scripts/poll-fulfillment.sh": "3e9fabd1818e0dc69b0af9f05d8e97333c63c42f81adceba178f2e4abedee1da",
246
253
  "scripts/poll-invoice.sh": "0946842aaf1b1944d4a6dc46d133390b110c61d99b023eae3f7b3e75985993fd",
247
- "scripts/profile-doctor.mjs": "7bbc8c524eb66c66d8abe02c2d4f82ed79c9d6592bb529889cf575f51794ecb7",
254
+ "scripts/profile-doctor.mjs": "f3ffaede099a5867bf92f7a1ba3435e597fa8ceaa97167671f14f853ad91afbc",
248
255
  "scripts/provider-select.sh": "329067c03cd30ba5f05a72e0319087f4e803dd18d9acf2dc790a5ab7410c209b",
249
256
  "scripts/provider-switch.sh": "42b369100d8a190741efab34c68e4d8488ce70f142251d994b4a8db560905a0a",
250
257
  "scripts/provider-sync-target.check.mjs": "f4a1fcb2724724f895053d2401b6f3701a76594f8dbec3f3045db66901f3f135",
251
- "scripts/python-runtime.sh": "151f45f76ca6e8884789cf5f9f65849b4a2d81c55fb77eb58b5f481f55ab35cc",
258
+ "scripts/python-runtime.sh": "7831db3ec43e8f9a5cdf519aa50960918c2f7126992494626b7886e219db4967",
252
259
  "scripts/query_runner.py": "9dca3900c30a2404d2942af5627743d1322da25cf31bf3918e72af1024270687",
253
- "scripts/release-argent.sh": "8b13f38c2ed1d0f25c03529c1c81be0e6cbf9af2cd5ba33357b8a83d9f8d9de2",
260
+ "scripts/release-argent.sh": "2bbfb90b29f769ab96bd91091d84f862acdd6d0955da0068315292ab050106c9",
254
261
  "scripts/repair-unresolved-tools.mjs": "bcdeb4a1fe9544a304248880804e29a0dccf251d93eeea1a7608e2aa4e03f10a",
255
262
  "scripts/retire-inventory.mjs": "c9dda33d9ac741a45459bbf8088e3a50f8eb2bed83cc819ef850e780d7bf8c09",
256
263
  "scripts/run-tests.sh": "4297f8d5309a6c2ee15e9db1a894c43051c1a5bbe0e1a9fcfef36f2773ff2bcd",
@@ -258,13 +265,14 @@
258
265
  "scripts/self-sign-license.mjs": "c43327da00d69ca316e7b06f2ca0259a5cc730151d90b6d6316f345358b69cbe",
259
266
  "scripts/session-handoff.mjs": "8cc8bb792b100c61f9f436445d0abca7b01dc834fb7db5818a68b5e353172dec",
260
267
  "scripts/session-health-scan.mjs": "2afa85fa60f788ff93d7cd41822f1309fd5e26e433cfe80bbcbf52cf6951ef4a",
268
+ "scripts/session-load-check.mjs": "a92eb90c6de40a4264bba24644da22e7c400c1517aa943b60ba7072d29791d8a",
261
269
  "scripts/session-repair-tool-result-content.mjs": "90d15887eb8cc30a1020326928d507380e64133d188cdc38d413fc9fa02530ce",
262
270
  "scripts/setup.sh": "3d8e2386a9a443bf2ee08a81115adb3f673e009c6baf3aba69559e85e0d1a528",
263
271
  "scripts/skill-install.mjs": "8fe429f44b50e96ed48cd100297fb882693907361643d5ef24714245fc82bfdd",
264
272
  "scripts/sku_translate.py": "c6d0b94e84e703cc5a5a671c9960c5e1060e8bf5d3f0115c1e0ba38bbd2eb289",
265
273
  "scripts/sync-plugins.sh": "85b1756513d2209385229556aa495af5937a050518889f016a998bd7a12ddc55",
266
274
  "scripts/sync-presets.sh": "b82e9960db0cb2bbb12e468563e798cac9ab8fd9f7ab218a4767d3ae7d024f38",
267
- "scripts/sync-scripts.sh": "0301a03263ea7b9166bd19fab2076a2aa65c5b82337807e0389aaae92c2862b4",
275
+ "scripts/sync-scripts.sh": "ee67231daa9252a69fea68313540dcfc8fb21b2b56972aeb0c01f950871142f1",
268
276
  "scripts/telemetry.py": "c0362ae50638f63b8e8650a3722f4e43035017dc5ca3dc8e45a9787c25fe00d2",
269
277
  "scripts/ui-copy-count.mjs": "d2bfc81fdc8852429f8e64ff4e608724ee82d47485e155ad091d79746fded3a8",
270
278
  "scripts/usage-anchor.sh": "20b9b4eb6815ed057bcdde06d1284780b7d5a383c62de9eb48ac7182dfbd4536",
@@ -288,6 +296,8 @@
288
296
  "scripts/wenyao_skill_contract.py": "0f9b04ff1dbb0ce5fbedbf45e1b8592c1e9e43ba3b16bff2741464814b39b96d",
289
297
  "scripts/wenyao_template_fetch.py": "9e9c3cfa1bdcc35dcb631c65b46c5a784d0e3dd375b8bd8e9318b55ff3dcccdf",
290
298
  "scripts/win/dsh-web-autostart.ps1": "ade472a02d9feb42f56dc6cd1759aff2472d410e7c8b25031b82d5b59e9559ab",
299
+ "scripts/xzh-browser.sh": "a0be0dd8d9ff0f327f9e94320ba5b9b79ffdd32a22e7793aa276c49fcf960e8f",
300
+ "scripts/xzh_browser.py": "49fd439b2ee7f66a6144c2166981d7aa6ec0826fe6aaad4dbee83199f3067255",
291
301
  "scripts/ziniao-auth-probe.sh": "dd0e10f48a67d5441b15e9a8edef5b31b0ffacbff6936b70444ebf370d0ef0f3",
292
302
  "scripts/ziniao-keepalive.sh": "2e22f07972e3e2eab4dc65aaacbf570c0975dbd2f90cd2c9a886575221a24c49",
293
303
  "scripts/ziniao-post-upgrade-check.sh": "d61c4fae39ab2e1bf4ffc3c7732305a1a600652a79df6b204864601feb5d3a31",
@@ -308,6 +318,7 @@
308
318
  "skills/ml-fulfillment-sop/scripts/fulfillment.js": "8de1ea386ebfe628caf4eaf2df5f1941938c07d4b8b2dcf79a78d45ac231669f",
309
319
  "skills/ml-fulfillment-sop/scripts/poll-and-execute.sh": "ab52c3e643dc434e1c72e716f60514fab91b7b48a2b3e4d611e818720b31831a",
310
320
  "skills/ml-fulfillment-sop/templates/report.md": "928298680c9336659905bdf12f0518a781c9f4b9045db26077ea1cd8d3f087b9",
321
+ "skills/ml-full-appointment/SKILL.md": "7588023b8564da568eced23c350f0fd8fd6ace023ab9c7cca55e8ba713b2454d",
311
322
  "skills/ml-invoice-xzh/SKILL.md": "8d4002e56f931350f625a427f38d700f1f0edc56482afb6be71f099131e07cd9",
312
323
  "skills/ml-invoice-xzh/references/pitfalls.md": "e77e5ac70ddc018ad484ee6a03ec32aa38290d76920a13c27bb42a4f78f415e5",
313
324
  "skills/ml-invoice/SKILL.md": "bbc41260a0d0eeed23eac0a39bc1cf30b015f419c76e33aaab03c374b9df47c6",
package/engine/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.3
1
+ 0.7.5
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * BOT/gateway → ERP 预约任务桥(只建任务,不轮询)
4
+ * 用法:
5
+ * node scripts/appointment-create.mjs --json '{"store":"...","sku":"...","quantity":10,"boxCount":1,"dateMode":"available_days","availableDays":5}'
6
+ * node scripts/appointment-create.mjs --json '{"store":"...","shipmentNo":"...","dateMode":"range","dateFrom":"2026-10-20","dateTo":"2026-10-25"}'
7
+ */
8
+ import fs from 'node:fs';
9
+ import os from 'node:os';
10
+
11
+ function arg(name, fallback = '') {
12
+ const i = process.argv.indexOf(name);
13
+ return i >= 0 ? process.argv[i + 1] : fallback;
14
+ }
15
+ const raw = arg('--json');
16
+ if (!raw) { console.error('用法:--json <任务 JSON>'); process.exit(2); }
17
+ const task = JSON.parse(raw);
18
+ const chatId = arg('--chat-id'); const openId = arg('--open-id');
19
+ if (chatId) task.chatId = chatId;
20
+ if (openId) task.requesterOpenId = openId;
21
+ const secretPath = process.env.APPOINTMENT_BRIDGE_SECRET_FILE || `${os.homedir()}/.dsh/argent/appointment-bridge.secret`;
22
+ const secret = process.env.APPOINTMENT_BRIDGE_SECRET || fs.readFileSync(secretPath, 'utf8').trim();
23
+ const base = (process.env.ARGENT_API_BASE || 'https://whyshu.com/api/argent/v1').replace(/\/+$/, '');
24
+ const appId = process.env.ARGENT_TENANT_APP_ID || 'ly-0001';
25
+ const res = await fetch(`${base}/tenants/${appId}/appointments/bridge`, {
26
+ method: 'POST',
27
+ headers: { 'x-appointment-secret': secret, 'content-type': 'application/json' },
28
+ body: JSON.stringify(task),
29
+ signal: AbortSignal.timeout(30_000),
30
+ });
31
+ const json = await res.json().catch(() => ({}));
32
+ if (!res.ok) { console.error(JSON.stringify(json.error || { code: 'http_error', message: `HTTP ${res.status}` })); process.exit(1); }
33
+ const id = json.data?.task?._id || '';
34
+ console.log(JSON.stringify({ ok: true, id, status: json.data?.task?.status || '' }));
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ /** BOT/gateway → 停止 ERP 预约任务(只置停止请求,worker 收尾) */
3
+ import fs from 'node:fs';
4
+ import os from 'node:os';
5
+
6
+ const id = process.argv[2] || '';
7
+ if (!id) { console.error('用法:node appointment-stop.mjs <AppointmentTask id>'); process.exit(2); }
8
+ const secretPath = process.env.APPOINTMENT_BRIDGE_SECRET_FILE || `${os.homedir()}/.dsh/argent/appointment-bridge.secret`;
9
+ const secret = process.env.APPOINTMENT_BRIDGE_SECRET || fs.readFileSync(secretPath, 'utf8').trim();
10
+ const base = (process.env.ARGENT_API_BASE || 'https://whyshu.com/api/argent/v1').replace(/\/+$/, '');
11
+ const appId = process.env.ARGENT_TENANT_APP_ID || 'ly-0001';
12
+ const res = await fetch(`${base}/tenants/${appId}/appointments/${encodeURIComponent(id)}/stop/bridge`, {
13
+ method: 'POST', headers: { 'x-appointment-secret': secret, 'content-type': 'application/json' }, body: '{}',
14
+ signal: AbortSignal.timeout(30_000),
15
+ });
16
+ const json = await res.json().catch(() => ({}));
17
+ if (!res.ok) { console.error(JSON.stringify(json.error || { code: 'http_error', message: `HTTP ${res.status}` })); process.exit(1); }
18
+ console.log(JSON.stringify({ ok: true, id, stopped: Boolean(json.data?.task?.stopRequestedAt) }));
@@ -0,0 +1,96 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ERP 抢预约 worker(Huangwei)
4
+ * · 只消费 AppointmentTask,参数全部来自任务,不读 lip;
5
+ * · 轮询 ERP claim;启动 appointment_grab.py 执行预约页循环;
6
+ * · 用户停止通过 ERP stopRequestedAt 转发为终止信号;
7
+ * · 60 秒一轮由 Python 脚本内部处理,worker 负责租约/停止/收尾。
8
+ */
9
+ import fs from 'node:fs';
10
+ import os from 'node:os';
11
+ import { spawn } from 'node:child_process';
12
+ import { setTimeout as sleep } from 'node:timers/promises';
13
+
14
+ const argv = new Set(process.argv.slice(2));
15
+ const ONCE = argv.has('--once');
16
+ const HEALTH = argv.has('--health');
17
+ const CFG_PATH = process.env.ARGENT_RUNNER_CONFIG || `${process.env.DSH_HOME || `${os.homedir()}/.dsh-argent`}/argent/runner.json`;
18
+ const PY = process.env.ARGENT_PY || `${os.homedir()}/.dsh/argent/venv/bin/python3`;
19
+ const GRAB = process.env.ARGENT_APPOINTMENT_GRAB || `${os.homedir()}/.argent-dsh/scripts/appointment_grab.py`;
20
+ const WORKER_ID = process.env.ARGENT_APPOINTMENT_WORKER_ID || `appointment-${os.hostname()}-${process.pid}`;
21
+
22
+ const cfg = JSON.parse(fs.readFileSync(CFG_PATH, 'utf8'));
23
+ const base = `${String(cfg.serverUrl).replace(/\/+$/, '')}/api/argent/v1/tenants/${encodeURIComponent(cfg.tenantAppId)}`;
24
+
25
+ async function api(path, { method = 'GET', body } = {}) {
26
+ const res = await fetch(`${base}${path}`, {
27
+ method,
28
+ headers: { authorization: `Bearer ${cfg.runnerToken}`, 'content-type': 'application/json' },
29
+ body: body === undefined ? undefined : JSON.stringify(body),
30
+ signal: AbortSignal.timeout(30_000),
31
+ });
32
+ const json = await res.json().catch(() => ({}));
33
+ if (!res.ok) throw new Error(json?.error?.message || `HTTP ${res.status}`);
34
+ return json.data;
35
+ }
36
+
37
+ function runGrab(task) {
38
+ return new Promise((resolve) => {
39
+ const args = [GRAB,
40
+ '--task-json', JSON.stringify(task),
41
+ '--cdp-hint', process.env.ARGENT_APPOINTMENT_CDP_HINT || '',
42
+ ];
43
+ const child = spawn(PY, args, {
44
+ cwd: `${os.homedir()}/.argent-dsh`, env: { ...process.env, ARGENT_DATA_DIR: `${os.homedir()}/.dsh/argent`, PATH: `${os.homedir()}/.local/node/bin:${os.homedir()}/.local/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin` },
45
+ stdio: ['ignore', 'pipe', 'pipe'],
46
+ });
47
+ let stdout = ''; let stderr = '';
48
+ child.stdout.on('data', (d) => { stdout += d; console.log(String(d).trimEnd()); });
49
+ child.stderr.on('data', (d) => { stderr += d; console.error(String(d).trimEnd()); });
50
+ const heartbeat = setInterval(async () => {
51
+ try {
52
+ const d = await api(`/appointments/${encodeURIComponent(task._id)}/state`, { method: 'GET' });
53
+ if (d?.task?.stopRequestedAt) {
54
+ console.error(`[appointment] stop requested for ${task._id} → terminate`);
55
+ child.kill('SIGTERM');
56
+ }
57
+ } catch { /* ignore transient */ }
58
+ }, 5_000);
59
+ child.on('error', (e) => { clearInterval(heartbeat); resolve({ code: -1, stdout, stderr: `${stderr}\n${e.message}` }); });
60
+ child.on('exit', (code, signal) => { clearInterval(heartbeat); resolve({ code, signal, stdout, stderr }); });
61
+ });
62
+ }
63
+
64
+ async function runOnce() {
65
+ const d = await api('/appointments/claim', { method: 'POST', body: { workerId: WORKER_ID } });
66
+ const task = d?.task;
67
+ if (!task) return false;
68
+ console.log(JSON.stringify({ event: 'claimed', id: task._id, store: task.store, sku: task.sku, shipmentNo: task.shipmentNo, from: task.dateFrom, to: task.dateTo }));
69
+ const r = await runGrab(task);
70
+ // 从 Python stdout 最后一行 JSON 取结果;没有则按失败
71
+ let result = {};
72
+ if (!result.status && (r.signal === 'SIGTERM' || r.code === 143)) result = { status: 'stopped', summary: '用户停止' };
73
+ for (const line of String(r.stdout || '').trim().split('\n').reverse()) {
74
+ try { const j = JSON.parse(line); if (j && (j.status || j.outcome)) { result = j; break; } } catch { /* not json */ }
75
+ }
76
+ if (!result.status && (r.signal === 'SIGTERM' || r.code === 143)) result.status = 'stopped';
77
+ const outcome = result.status === 'booked' ? 'succeeded' : result.status === 'stopped' ? 'stopped' : 'failed';
78
+ await api(`/appointments/${encodeURIComponent(task._id)}/complete`, {
79
+ method: 'POST',
80
+ body: { workerId: WORKER_ID, outcome, summary: result.summary || r.stderr.slice(-800) || r.stdout.slice(-800), resultDate: result.date || '', resultSlot: result.slot || '', dateStates: result.dateStates || {} },
81
+ });
82
+ console.log(JSON.stringify({ event: 'completed', id: task._id, outcome, date: result.date || '', slot: result.slot || '' }));
83
+ return true;
84
+ }
85
+
86
+ async function main() {
87
+ if (HEALTH) {
88
+ try { await api('/appointments?limit=1'); console.log(JSON.stringify({ ok: true, workerId: WORKER_ID })); process.exit(0); } catch (e) { console.error(e.message); process.exit(1); }
89
+ }
90
+ console.log(JSON.stringify({ event: 'worker.start', workerId: WORKER_ID, cfg: CFG_PATH, grab: GRAB }));
91
+ do {
92
+ try { await runOnce(); } catch (e) { console.error(JSON.stringify({ event: 'worker.error', message: e.message })); await sleep(5000); }
93
+ if (!ONCE) await sleep(5000);
94
+ } while (!ONCE);
95
+ }
96
+ main().catch((e) => { console.error(e); process.exit(1); });