@danceiny/gotry 0.0.1-rc.18 → 0.0.1-rc.20

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 (176) hide show
  1. package/README.md +42 -16
  2. package/README.zh-CN.md +37 -15
  3. package/bin/gotry-bootstrap.js +309 -30
  4. package/bin/gotry-inner.js +74 -23
  5. package/bin/gotry-runtime-resolution.d.ts +1 -1
  6. package/bin/gotry-runtime-resolution.js +7 -8
  7. package/cordis.gotry-patch.yml +22 -8
  8. package/data/stations-12306-verify.json +524 -0
  9. package/dist/capabilities/agent-reach.js +4 -4
  10. package/dist/capabilities/anything.js +62 -29
  11. package/dist/capabilities/channel-health.js +103 -0
  12. package/dist/capabilities/channel-registry.js +213 -0
  13. package/dist/capabilities/doctor.js +307 -0
  14. package/dist/capabilities/effect.js +178 -5
  15. package/dist/capabilities/flyai.js +13 -0
  16. package/dist/capabilities/hbcli.js +28 -2
  17. package/dist/capabilities/session/adapters/ctrip-hotel.js +207 -0
  18. package/dist/capabilities/session/adapters/rail-12306.js +285 -0
  19. package/dist/capabilities/session/extension-bridge.js +14 -1
  20. package/dist/capabilities/session/extension-channel.js +4 -2
  21. package/dist/capabilities/session/extension-distribution.js +1 -1
  22. package/dist/capabilities/session-search.js +311 -0
  23. package/dist/capabilities/visa-policy.js +126 -0
  24. package/dist/scripts/agent-planning-turn-deadline-e2e.js +305 -0
  25. package/dist/scripts/agent-planning-turn-deadline-tests.js +281 -0
  26. package/dist/scripts/anything-tests.js +70 -21
  27. package/dist/scripts/benchmark-environment-bridge-e2e.js +139 -37
  28. package/dist/scripts/benchmark-environment-bridge-tests.js +1099 -306
  29. package/dist/scripts/booking-copilot-availability-ledger-binding-tests.js +26 -26
  30. package/dist/scripts/{booking-copilot-availability-policy-v2-tests.js → booking-copilot-availability-policy-tests.js} +115 -115
  31. package/dist/scripts/booking-copilot-crossrepo-fixture-server.js +41 -1
  32. package/dist/scripts/booking-copilot-dsh-core-proof-tests.js +75 -120
  33. package/dist/scripts/booking-copilot-dsh-planner-proof-tests.js +370 -61
  34. package/dist/scripts/booking-copilot-dsh-plugin-proof-tests.js +2 -2
  35. package/dist/scripts/booking-copilot-event-sequence-concurrency-proof-tests.js +7 -3
  36. package/dist/scripts/booking-copilot-gap-code-contract-proof-tests.js +15 -9
  37. package/dist/scripts/booking-copilot-operation-ledger-concurrency-proof-tests.js +19 -11
  38. package/dist/scripts/booking-copilot-receipt-ledger-concurrency-proof-tests.js +16 -52
  39. package/dist/scripts/booking-copilot-runtime-proof-tests.js +3953 -155
  40. package/dist/scripts/booking-copilot-server-proof-tests.js +58 -23
  41. package/dist/scripts/booking-copilot-startup-proof-tests.js +10 -119
  42. package/dist/scripts/booking-surface-contract-proof-tests.js +1154 -326
  43. package/dist/scripts/bootstrap-tests.js +113 -2
  44. package/dist/scripts/build-metrics-report.js +339 -0
  45. package/dist/scripts/channel-probe-tests.js +148 -0
  46. package/dist/scripts/channel-probe.js +252 -0
  47. package/dist/scripts/channel-registry-tests.js +262 -0
  48. package/dist/scripts/doctor-tests.js +175 -0
  49. package/dist/scripts/effect-tests.js +274 -1
  50. package/dist/scripts/extension-tests.js +129 -11
  51. package/dist/scripts/fact-gate-tests.js +91 -2
  52. package/dist/scripts/flyai-tests.js +17 -1
  53. package/dist/scripts/hbcli-e2e-tests.js +1 -3
  54. package/dist/scripts/hbcli-tests.js +38 -1
  55. package/dist/scripts/metrics-report-tests.js +288 -0
  56. package/dist/scripts/persona-surface-guard-tests.js +19 -0
  57. package/dist/scripts/session-tests.js +401 -1
  58. package/dist/scripts/smoke.js +100 -83
  59. package/dist/scripts/turn-handoff-collect-tests.js +216 -0
  60. package/dist/scripts/turn-handoff-collect.js +189 -0
  61. package/dist/scripts/turn-policy-tests.js +56 -0
  62. package/dist/scripts/typed-contract-canary.js +261 -0
  63. package/dist/scripts/visa-policy-tests.js +75 -0
  64. package/dist/scripts/wish-channel-gate-tests.js +111 -0
  65. package/dist/src/artifact-gate.js +91 -3
  66. package/dist/src/benchmark-agent-conformance.js +39 -16
  67. package/dist/src/benchmark-environment-bridge.js +316 -52
  68. package/dist/src/bookable-facts.js +62 -3
  69. package/dist/src/booking-surface/{availability-policy-v2.js → availability-policy.js} +89 -89
  70. package/dist/src/booking-surface/canonical-schema.js +8 -22
  71. package/dist/src/booking-surface/contracts.js +70 -19
  72. package/dist/src/booking-surface/dsh-planner.js +310 -177
  73. package/dist/src/booking-surface/dsh-plugin.js +3 -3
  74. package/dist/src/booking-surface/index.js +1 -5
  75. package/dist/src/booking-surface/profile.js +1 -1
  76. package/dist/src/booking-surface/runtime.js +1682 -247
  77. package/dist/src/booking-surface/server.js +371 -185
  78. package/dist/src/booking-surface/startup.js +17 -27
  79. package/dist/src/booking-surface/validation.js +270 -760
  80. package/dist/src/index.js +739 -150
  81. package/dist/src/turn-deadline.js +292 -0
  82. package/dist/src/turn-policy.js +146 -0
  83. package/dist/src/wish-pool.js +5 -0
  84. package/extension/background.js +23 -4
  85. package/extension/content-main.js +47 -9
  86. package/extension/manifest.json +27 -9
  87. package/package.json +7 -26
  88. package/schemas/booking.surface.schema.json +2593 -0
  89. package/ts/capabilities/agent-reach.ts +4 -4
  90. package/ts/capabilities/anything.ts +89 -38
  91. package/ts/capabilities/flyai.ts +21 -3
  92. package/ts/capabilities/hbcli.ts +53 -4
  93. package/ts/capabilities/session/action-cache.ts +1 -1
  94. package/ts/capabilities/session/adapters/ctrip-hotel.ts +238 -0
  95. package/ts/capabilities/session/adapters/rail-12306.ts +293 -0
  96. package/ts/capabilities/session/extension-bridge.ts +32 -2
  97. package/ts/capabilities/session/extension-channel.ts +9 -8
  98. package/ts/capabilities/session/extension-distribution.ts +3 -1
  99. package/ts/capabilities/session/health-watch.ts +1 -1
  100. package/ts/capabilities/session/read-guard.ts +1 -1
  101. package/ts/capabilities/session/wizard.ts +1 -1
  102. package/ts/capabilities/session-search.ts +323 -1
  103. package/ts/dsh-runtime/vendor/README.md +60 -0
  104. package/ts/dsh-runtime/vendor/dsh-map-tools/LICENSE +21 -0
  105. package/ts/dsh-runtime/vendor/dsh-map-tools/README.en.md +200 -0
  106. package/ts/dsh-runtime/vendor/dsh-map-tools/README.md +202 -0
  107. package/ts/dsh-runtime/vendor/dsh-map-tools/client/client.js +216 -0
  108. package/ts/dsh-runtime/vendor/dsh-map-tools/cordis.patch.yml +5 -0
  109. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/clients/amap.js +371 -0
  110. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/clients/nominatim.js +63 -0
  111. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/clients/osrm.js +56 -0
  112. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/clients/photon.js +55 -0
  113. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/config-file.js +87 -0
  114. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/config-route.js +126 -0
  115. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/config.js +16 -0
  116. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/index.js +109 -0
  117. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/settings-ns.js +27 -0
  118. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/tools/geocode.js +127 -0
  119. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/tools/poi.js +84 -0
  120. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/tools/routes.js +170 -0
  121. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/clients/amap.d.ts +53 -0
  122. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/clients/nominatim.d.ts +17 -0
  123. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/clients/osrm.d.ts +15 -0
  124. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/clients/photon.d.ts +22 -0
  125. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/config-file.d.ts +33 -0
  126. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/config-route.d.ts +20 -0
  127. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/config.d.ts +23 -0
  128. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/index.d.ts +18 -0
  129. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/settings-ns.d.ts +14 -0
  130. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/tools/geocode.d.ts +11 -0
  131. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/tools/poi.d.ts +9 -0
  132. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/tools/routes.d.ts +16 -0
  133. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types/types.d.ts +55 -0
  134. package/ts/dsh-runtime/vendor/dsh-map-tools/lib/types.js +16 -0
  135. package/ts/dsh-runtime/vendor/dsh-map-tools/package.json +91 -0
  136. package/ts/package.json +9 -0
  137. package/ts/scripts/turn-handoff-collect.ts +178 -0
  138. package/ts/src/artifact-gate.ts +82 -2
  139. package/ts/src/benchmark-agent-conformance.ts +54 -15
  140. package/ts/src/benchmark-environment-bridge.ts +234 -46
  141. package/ts/src/bookable-facts.ts +109 -5
  142. package/ts/src/booking-saga.ts +1 -1
  143. package/ts/src/booking-surface/{availability-policy-v2.ts → availability-policy.ts} +124 -125
  144. package/ts/src/booking-surface/canonical-schema.js +8 -22
  145. package/ts/src/booking-surface/contracts.ts +278 -239
  146. package/ts/src/booking-surface/dsh-planner.ts +333 -194
  147. package/ts/src/booking-surface/dsh-plugin.js +3 -3
  148. package/ts/src/booking-surface/index.ts +1 -5
  149. package/ts/src/booking-surface/profile.ts +11 -11
  150. package/ts/src/booking-surface/runtime.ts +1351 -351
  151. package/ts/src/booking-surface/server.ts +282 -175
  152. package/ts/src/booking-surface/startup.ts +36 -48
  153. package/ts/src/booking-surface/validation.ts +194 -442
  154. package/ts/src/contracts.ts +1 -1
  155. package/ts/src/index.ts +492 -172
  156. package/ts/src/loop.ts +1 -1
  157. package/ts/src/state-ledger.ts +1 -1
  158. package/ts/src/turn-deadline.ts +365 -0
  159. package/ts/src/turn-policy.ts +154 -0
  160. package/ts/src/wish-pool.ts +17 -4
  161. package/dist/scripts/agent-planning-budget-e2e.js +0 -227
  162. package/dist/scripts/agent-planning-budget-tests.js +0 -173
  163. package/dist/scripts/booking-copilot-v2-runtime-proof-tests.js +0 -3935
  164. package/dist/scripts/booking-surface-v2-contract-proof-tests.js +0 -1174
  165. package/dist/src/booking-surface/contracts-v2.js +0 -89
  166. package/dist/src/booking-surface/runtime-v2.js +0 -1771
  167. package/dist/src/booking-surface/server-v2.js +0 -334
  168. package/dist/src/booking-surface/validation-v2.js +0 -319
  169. package/dist/src/tool-budget.js +0 -136
  170. package/schemas/booking.surface.v1.schema.json +0 -927
  171. package/schemas/booking.surface.v2.schema.json +0 -61
  172. package/ts/src/booking-surface/contracts-v2.ts +0 -118
  173. package/ts/src/booking-surface/runtime-v2.ts +0 -1466
  174. package/ts/src/booking-surface/server-v2.ts +0 -247
  175. package/ts/src/booking-surface/validation-v2.ts +0 -205
  176. package/ts/src/tool-budget.ts +0 -165
@@ -3,9 +3,9 @@ import { mkdtempSync, rmSync } from 'node:fs';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  import { ensureLedger } from '../src/state-ledger.js';
6
- import { BookingCopilotTaskRuntimeV2, bookingV2Digest } from '../src/booking-surface/runtime-v2.js';
6
+ import { BookingCopilotTaskRuntime, bookingDigest } from '../src/booking-surface/runtime.js';
7
7
  const workspace = (revision)=>({
8
- schemaVersion: 'booking.surface.v2',
8
+ schemaVersion: 'booking.surface',
9
9
  contextRef: 'ctx-ledger-binding',
10
10
  surface: 'tenant',
11
11
  revision,
@@ -56,7 +56,7 @@ const workspace = (revision)=>({
56
56
  }
57
57
  });
58
58
  const offersReceipt = (actionId, revision)=>({
59
- schemaVersion: 'booking.surface.v2',
59
+ schemaVersion: 'booking.surface',
60
60
  kind: 'action.receipt',
61
61
  actionId,
62
62
  contextRef: 'ctx-ledger-binding',
@@ -82,7 +82,7 @@ const offersReceipt = (actionId, revision)=>({
82
82
  }
83
83
  });
84
84
  const checkReceipt = (actionId, revision)=>({
85
- schemaVersion: 'booking.surface.v2',
85
+ schemaVersion: 'booking.surface',
86
86
  kind: 'action.receipt',
87
87
  actionId,
88
88
  contextRef: 'ctx-ledger-binding',
@@ -108,12 +108,12 @@ const checkReceipt = (actionId, revision)=>({
108
108
  function fixture(stage) {
109
109
  const root = mkdtempSync(join(tmpdir(), 'gotry-availability-ledger-binding-'));
110
110
  const ledger = ensureLedger(root);
111
- const runtime = new BookingCopilotTaskRuntimeV2(ledger, {
111
+ const runtime = new BookingCopilotTaskRuntime(ledger, {
112
112
  contextRefFactory: ()=>'ctx-ledger-binding'
113
113
  });
114
114
  const task = 'ledger-binding-task';
115
115
  runtime.startTask({
116
- schemaVersion: 'booking.surface.v2',
116
+ schemaVersion: 'booking.surface',
117
117
  kind: 'user.turn',
118
118
  taskId: task,
119
119
  turnId: 'turn-1',
@@ -123,7 +123,7 @@ function fixture(stage) {
123
123
  }
124
124
  });
125
125
  const query = {
126
- schemaVersion: 'booking.surface.v2',
126
+ schemaVersion: 'booking.surface',
127
127
  kind: 'offers.query',
128
128
  actionId: 'query-1',
129
129
  contextRef: 'ctx-ledger-binding',
@@ -139,14 +139,14 @@ function fixture(stage) {
139
139
  };
140
140
  runtime.issueOperation(task, query);
141
141
  runtime.continueWithReceipt({
142
- schemaVersion: 'booking.surface.v2',
142
+ schemaVersion: 'booking.surface',
143
143
  kind: 'action.receipt.continuation',
144
144
  taskId: task,
145
145
  workspace: workspace(1),
146
146
  receipt: offersReceipt('query-1', 1)
147
147
  });
148
148
  const check = {
149
- schemaVersion: 'booking.surface.v2',
149
+ schemaVersion: 'booking.surface',
150
150
  kind: 'offer.check',
151
151
  actionId: 'check-1',
152
152
  contextRef: 'ctx-ledger-binding',
@@ -160,7 +160,7 @@ function fixture(stage) {
160
160
  };
161
161
  runtime.issueOperation(task, check);
162
162
  if (stage === 'receipt') runtime.continueWithReceipt({
163
- schemaVersion: 'booking.surface.v2',
163
+ schemaVersion: 'booking.surface',
164
164
  kind: 'action.receipt.continuation',
165
165
  taskId: task,
166
166
  workspace: {
@@ -191,7 +191,7 @@ function rewrite(root, kind, mutate) {
191
191
  }
192
192
  function assertCorrupt(root, label) {
193
193
  const ledger = ensureLedger(root);
194
- const runtime = new BookingCopilotTaskRuntimeV2(ledger, {
194
+ const runtime = new BookingCopilotTaskRuntime(ledger, {
195
195
  contextRefFactory: ()=>'ctx-ledger-binding'
196
196
  });
197
197
  assert.throws(()=>runtime.resumeTask('ledger-binding-task'), /ledger_corrupt:ledger-binding-task/, label);
@@ -200,7 +200,7 @@ function assertCorrupt(root, label) {
200
200
  {
201
201
  const fixtureState = fixture('action');
202
202
  const ledger = ensureLedger(fixtureState.root);
203
- assert.doesNotThrow(()=>new BookingCopilotTaskRuntimeV2(ledger).resumeTask(fixtureState.task));
203
+ assert.doesNotThrow(()=>new BookingCopilotTaskRuntime(ledger).resumeTask(fixtureState.task));
204
204
  ledger.close();
205
205
  rmSync(fixtureState.root, {
206
206
  recursive: true,
@@ -211,28 +211,28 @@ function assertCorrupt(root, label) {
211
211
  'candidate digest',
212
212
  (payload)=>{
213
213
  payload.availability.candidateSetDigest = 'f'.repeat(64);
214
- payload.availabilityDigest = bookingV2Digest(payload.availability);
214
+ payload.availabilityDigest = bookingDigest(payload.availability);
215
215
  }
216
216
  ],
217
217
  [
218
218
  'offer set digest',
219
219
  (payload)=>{
220
220
  payload.availability.hotels.h1.currentGeneration.offerSetDigest = 'e'.repeat(64);
221
- payload.availabilityDigest = bookingV2Digest(payload.availability);
221
+ payload.availabilityDigest = bookingDigest(payload.availability);
222
222
  }
223
223
  ],
224
224
  [
225
225
  'source receipt digest',
226
226
  (payload)=>{
227
227
  payload.availability.hotels.h1.currentGeneration.source.receiptDigest = 'd'.repeat(64);
228
- payload.availabilityDigest = bookingV2Digest(payload.availability);
228
+ payload.availabilityDigest = bookingDigest(payload.availability);
229
229
  }
230
230
  ],
231
231
  [
232
232
  'active ordinal',
233
233
  (payload)=>{
234
234
  payload.availability.activeHotelOrdinal = 1;
235
- payload.availabilityDigest = bookingV2Digest(payload.availability);
235
+ payload.availabilityDigest = bookingDigest(payload.availability);
236
236
  }
237
237
  ],
238
238
  [
@@ -248,12 +248,12 @@ function assertCorrupt(root, label) {
248
248
  evidence: 'conclusive'
249
249
  };
250
250
  payload.availability.availabilityPhase = 'terminal';
251
- payload.availabilityDigest = bookingV2Digest(payload.availability);
251
+ payload.availabilityDigest = bookingDigest(payload.availability);
252
252
  }
253
253
  ]
254
254
  ]){
255
255
  const fixtureState = fixture('action');
256
- rewrite(fixtureState.root, 'booking.copilot.v2.action.issued', mutate);
256
+ rewrite(fixtureState.root, 'booking.copilot.action.issued', mutate);
257
257
  assertCorrupt(fixtureState.root, label);
258
258
  rmSync(fixtureState.root, {
259
259
  recursive: true,
@@ -262,7 +262,7 @@ function assertCorrupt(root, label) {
262
262
  }
263
263
  {
264
264
  const fixtureState = fixture('action');
265
- rewrite(fixtureState.root, 'booking.copilot.v2.action.issued', (payload)=>{
265
+ rewrite(fixtureState.root, 'booking.copilot.action.issued', (payload)=>{
266
266
  payload.availability.activeHotelOrdinal = 1;
267
267
  });
268
268
  assertCorrupt(fixtureState.root, 'raw ACTION availability digest mismatch');
@@ -272,7 +272,7 @@ function assertCorrupt(root, label) {
272
272
  });
273
273
  }{
274
274
  const fixtureState = fixture('receipt');
275
- rewrite(fixtureState.root, 'booking.copilot.v2.receipt.observed', (payload)=>{
275
+ rewrite(fixtureState.root, 'booking.copilot.receipt.observed', (payload)=>{
276
276
  payload.availability.activeHotelOrdinal = 1;
277
277
  });
278
278
  assertCorrupt(fixtureState.root, 'raw RECEIPT availability digest mismatch');
@@ -282,10 +282,10 @@ function assertCorrupt(root, label) {
282
282
  });
283
283
  }{
284
284
  const fixtureState = fixture('action');
285
- rewrite(fixtureState.root, 'booking.copilot.v2.action.issued', (payload)=>{
285
+ rewrite(fixtureState.root, 'booking.copilot.action.issued', (payload)=>{
286
286
  payload.action.input.offerRef = 'o2';
287
287
  const { actionDigest: _ignored, ...base } = payload.action;
288
- payload.action.actionDigest = bookingV2Digest(base);
288
+ payload.action.actionDigest = bookingDigest(base);
289
289
  });
290
290
  assertCorrupt(fixtureState.root, 'wrong action transition');
291
291
  rmSync(fixtureState.root, {
@@ -295,10 +295,10 @@ function assertCorrupt(root, label) {
295
295
  }{
296
296
  const fixtureState = fixture('receipt');
297
297
  const runtimeLedger = ensureLedger(fixtureState.root);
298
- const runtime = new BookingCopilotTaskRuntimeV2(runtimeLedger);
298
+ const runtime = new BookingCopilotTaskRuntime(runtimeLedger);
299
299
  assert.deepEqual(runtime.resumeTask(fixtureState.task)?.availability.criteria, {}, 'recovery retains the canonical offer criteria after restart');
300
300
  const wrongDetour = {
301
- schemaVersion: 'booking.surface.v2',
301
+ schemaVersion: 'booking.surface',
302
302
  kind: 'search.run',
303
303
  actionId: 'detour',
304
304
  contextRef: 'ctx-ledger-binding',
@@ -320,9 +320,9 @@ function assertCorrupt(root, label) {
320
320
  });
321
321
  }{
322
322
  const fixtureState = fixture('receipt');
323
- rewrite(fixtureState.root, 'booking.copilot.v2.receipt.observed', (payload)=>{
323
+ rewrite(fixtureState.root, 'booking.copilot.receipt.observed', (payload)=>{
324
324
  payload.receipt.status = 'applied';
325
- payload.receiptDigest = bookingV2Digest(payload.receipt);
325
+ payload.receiptDigest = bookingDigest(payload.receipt);
326
326
  });
327
327
  assertCorrupt(fixtureState.root, 'wrong receipt transition');
328
328
  rmSync(fixtureState.root, {