@mcpmesh/sdk 1.3.4 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/a2a/a2a-bearer.spec.d.ts +2 -0
- package/dist/__tests__/a2a/a2a-bearer.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/a2a-bearer.spec.js +58 -0
- package/dist/__tests__/a2a/a2a-bearer.spec.js.map +1 -0
- package/dist/__tests__/a2a/a2a-client.spec.d.ts +2 -0
- package/dist/__tests__/a2a/a2a-client.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/a2a-client.spec.js +334 -0
- package/dist/__tests__/a2a/a2a-client.spec.js.map +1 -0
- package/dist/__tests__/a2a/a2a-job.spec.d.ts +2 -0
- package/dist/__tests__/a2a/a2a-job.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/a2a-job.spec.js +255 -0
- package/dist/__tests__/a2a/a2a-job.spec.js.map +1 -0
- package/dist/__tests__/a2a/a2a-stream.spec.d.ts +2 -0
- package/dist/__tests__/a2a/a2a-stream.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/a2a-stream.spec.js +278 -0
- package/dist/__tests__/a2a/a2a-stream.spec.js.map +1 -0
- package/dist/__tests__/a2a/agent-a2a-config.spec.d.ts +2 -0
- package/dist/__tests__/a2a/agent-a2a-config.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/agent-a2a-config.spec.js +262 -0
- package/dist/__tests__/a2a/agent-a2a-config.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/auth-filter.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/auth-filter.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/auth-filter.spec.js +127 -0
- package/dist/__tests__/a2a/producer/auth-filter.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/card-builder.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/card-builder.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/card-builder.spec.js +113 -0
- package/dist/__tests__/a2a/producer/card-builder.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/dispatcher.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/dispatcher.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/dispatcher.spec.js +850 -0
- package/dist/__tests__/a2a/producer/dispatcher.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/mount-surface-push.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/mount-surface-push.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/mount-surface-push.spec.js +164 -0
- package/dist/__tests__/a2a/producer/mount-surface-push.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/mount.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/mount.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/mount.spec.js +433 -0
- package/dist/__tests__/a2a/producer/mount.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/public-url-cache.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/public-url-cache.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/public-url-cache.spec.js +116 -0
- package/dist/__tests__/a2a/producer/public-url-cache.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/sse-emitter.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/sse-emitter.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/sse-emitter.spec.js +754 -0
- package/dist/__tests__/a2a/producer/sse-emitter.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/state-translator.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/state-translator.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/state-translator.spec.js +124 -0
- package/dist/__tests__/a2a/producer/state-translator.spec.js.map +1 -0
- package/dist/__tests__/a2a/producer/task-store.spec.d.ts +2 -0
- package/dist/__tests__/a2a/producer/task-store.spec.d.ts.map +1 -0
- package/dist/__tests__/a2a/producer/task-store.spec.js +180 -0
- package/dist/__tests__/a2a/producer/task-store.spec.js.map +1 -0
- package/dist/__tests__/agent-add-tool.spec.d.ts +2 -0
- package/dist/__tests__/agent-add-tool.spec.d.ts.map +1 -0
- package/dist/__tests__/agent-add-tool.spec.js +483 -0
- package/dist/__tests__/agent-add-tool.spec.js.map +1 -0
- package/dist/__tests__/api-runtime-race.spec.d.ts +2 -0
- package/dist/__tests__/api-runtime-race.spec.d.ts.map +1 -0
- package/dist/__tests__/api-runtime-race.spec.js +193 -0
- package/dist/__tests__/api-runtime-race.spec.js.map +1 -0
- package/dist/__tests__/claim-dispatcher.spec.d.ts +2 -0
- package/dist/__tests__/claim-dispatcher.spec.d.ts.map +1 -0
- package/dist/__tests__/claim-dispatcher.spec.js +408 -0
- package/dist/__tests__/claim-dispatcher.spec.js.map +1 -0
- package/dist/__tests__/inbound-job-dispatch.spec.d.ts +2 -0
- package/dist/__tests__/inbound-job-dispatch.spec.d.ts.map +1 -0
- package/dist/__tests__/inbound-job-dispatch.spec.js +185 -0
- package/dist/__tests__/inbound-job-dispatch.spec.js.map +1 -0
- package/dist/__tests__/job-controller-progress.spec.d.ts +2 -0
- package/dist/__tests__/job-controller-progress.spec.d.ts.map +1 -0
- package/dist/__tests__/job-controller-progress.spec.js +85 -0
- package/dist/__tests__/job-controller-progress.spec.js.map +1 -0
- package/dist/__tests__/jobs-cancel-route.spec.d.ts +2 -0
- package/dist/__tests__/jobs-cancel-route.spec.d.ts.map +1 -0
- package/dist/__tests__/jobs-cancel-route.spec.js +88 -0
- package/dist/__tests__/jobs-cancel-route.spec.js.map +1 -0
- package/dist/__tests__/llm-agent-stream.test.d.ts +14 -0
- package/dist/__tests__/llm-agent-stream.test.d.ts.map +1 -0
- package/dist/__tests__/llm-agent-stream.test.js +341 -0
- package/dist/__tests__/llm-agent-stream.test.js.map +1 -0
- package/dist/__tests__/llm-provider.test.js +22 -1
- package/dist/__tests__/llm-provider.test.js.map +1 -1
- package/dist/__tests__/media-resolver.test.js +40 -0
- package/dist/__tests__/media-resolver.test.js.map +1 -1
- package/dist/__tests__/mesh-job-submitter.spec.d.ts +2 -0
- package/dist/__tests__/mesh-job-submitter.spec.d.ts.map +1 -0
- package/dist/__tests__/mesh-job-submitter.spec.js +110 -0
- package/dist/__tests__/mesh-job-submitter.spec.js.map +1 -0
- package/dist/__tests__/proxy-stream.test.d.ts +9 -0
- package/dist/__tests__/proxy-stream.test.d.ts.map +1 -0
- package/dist/__tests__/proxy-stream.test.js +347 -0
- package/dist/__tests__/proxy-stream.test.js.map +1 -0
- package/dist/__tests__/resolver-meshjob.spec.d.ts +26 -0
- package/dist/__tests__/resolver-meshjob.spec.d.ts.map +1 -0
- package/dist/__tests__/resolver-meshjob.spec.js +201 -0
- package/dist/__tests__/resolver-meshjob.spec.js.map +1 -0
- package/dist/__tests__/schema-verdict-policy.test.d.ts +6 -0
- package/dist/__tests__/schema-verdict-policy.test.d.ts.map +1 -0
- package/dist/__tests__/schema-verdict-policy.test.js +126 -0
- package/dist/__tests__/schema-verdict-policy.test.js.map +1 -0
- package/dist/__tests__/sse-stream.test.d.ts +12 -0
- package/dist/__tests__/sse-stream.test.d.ts.map +1 -0
- package/dist/__tests__/sse-stream.test.js +170 -0
- package/dist/__tests__/sse-stream.test.js.map +1 -0
- package/dist/a2a/a2a-bearer.d.ts +27 -0
- package/dist/a2a/a2a-bearer.d.ts.map +1 -0
- package/dist/a2a/a2a-bearer.js +63 -0
- package/dist/a2a/a2a-bearer.js.map +1 -0
- package/dist/a2a/a2a-client.d.ts +114 -0
- package/dist/a2a/a2a-client.d.ts.map +1 -0
- package/dist/a2a/a2a-client.js +405 -0
- package/dist/a2a/a2a-client.js.map +1 -0
- package/dist/a2a/a2a-event.d.ts +25 -0
- package/dist/a2a/a2a-event.d.ts.map +1 -0
- package/dist/a2a/a2a-event.js +9 -0
- package/dist/a2a/a2a-event.js.map +1 -0
- package/dist/a2a/a2a-job.d.ts +58 -0
- package/dist/a2a/a2a-job.d.ts.map +1 -0
- package/dist/a2a/a2a-job.js +264 -0
- package/dist/a2a/a2a-job.js.map +1 -0
- package/dist/a2a/a2a-stream.d.ts +39 -0
- package/dist/a2a/a2a-stream.d.ts.map +1 -0
- package/dist/a2a/a2a-stream.js +290 -0
- package/dist/a2a/a2a-stream.js.map +1 -0
- package/dist/a2a/errors.d.ts +29 -0
- package/dist/a2a/errors.d.ts.map +1 -0
- package/dist/a2a/errors.js +48 -0
- package/dist/a2a/errors.js.map +1 -0
- package/dist/a2a/index.d.ts +12 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +11 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/producer/auth-filter.d.ts +34 -0
- package/dist/a2a/producer/auth-filter.d.ts.map +1 -0
- package/dist/a2a/producer/auth-filter.js +39 -0
- package/dist/a2a/producer/auth-filter.js.map +1 -0
- package/dist/a2a/producer/card-builder.d.ts +59 -0
- package/dist/a2a/producer/card-builder.d.ts.map +1 -0
- package/dist/a2a/producer/card-builder.js +59 -0
- package/dist/a2a/producer/card-builder.js.map +1 -0
- package/dist/a2a/producer/dispatcher.d.ts +276 -0
- package/dist/a2a/producer/dispatcher.d.ts.map +1 -0
- package/dist/a2a/producer/dispatcher.js +896 -0
- package/dist/a2a/producer/dispatcher.js.map +1 -0
- package/dist/a2a/producer/index.d.ts +26 -0
- package/dist/a2a/producer/index.d.ts.map +1 -0
- package/dist/a2a/producer/index.js +23 -0
- package/dist/a2a/producer/index.js.map +1 -0
- package/dist/a2a/producer/mount.d.ts +75 -0
- package/dist/a2a/producer/mount.d.ts.map +1 -0
- package/dist/a2a/producer/mount.js +422 -0
- package/dist/a2a/producer/mount.js.map +1 -0
- package/dist/a2a/producer/public-url-cache.d.ts +73 -0
- package/dist/a2a/producer/public-url-cache.d.ts.map +1 -0
- package/dist/a2a/producer/public-url-cache.js +0 -0
- package/dist/a2a/producer/public-url-cache.js.map +1 -0
- package/dist/a2a/producer/registry.d.ts +138 -0
- package/dist/a2a/producer/registry.d.ts.map +1 -0
- package/dist/a2a/producer/registry.js +117 -0
- package/dist/a2a/producer/registry.js.map +1 -0
- package/dist/a2a/producer/sse-emitter.d.ts +85 -0
- package/dist/a2a/producer/sse-emitter.d.ts.map +1 -0
- package/dist/a2a/producer/sse-emitter.js +405 -0
- package/dist/a2a/producer/sse-emitter.js.map +1 -0
- package/dist/a2a/producer/state-translator.d.ts +63 -0
- package/dist/a2a/producer/state-translator.d.ts.map +1 -0
- package/dist/a2a/producer/state-translator.js +108 -0
- package/dist/a2a/producer/state-translator.js.map +1 -0
- package/dist/a2a/producer/task-store.d.ts +128 -0
- package/dist/a2a/producer/task-store.d.ts.map +1 -0
- package/dist/a2a/producer/task-store.js +128 -0
- package/dist/a2a/producer/task-store.js.map +1 -0
- package/dist/agent.d.ts +99 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +754 -19
- package/dist/agent.js.map +1 -1
- package/dist/api-runtime.d.ts +25 -0
- package/dist/api-runtime.d.ts.map +1 -1
- package/dist/api-runtime.js +75 -2
- package/dist/api-runtime.js.map +1 -1
- package/dist/claim-dispatcher.d.ts +126 -0
- package/dist/claim-dispatcher.d.ts.map +1 -0
- package/dist/claim-dispatcher.js +478 -0
- package/dist/claim-dispatcher.js.map +1 -0
- package/dist/express.d.ts.map +1 -1
- package/dist/express.js +33 -6
- package/dist/express.js.map +1 -1
- package/dist/inbound-job-dispatch.d.ts +105 -0
- package/dist/inbound-job-dispatch.d.ts.map +1 -0
- package/dist/inbound-job-dispatch.js +335 -0
- package/dist/inbound-job-dispatch.js.map +1 -0
- package/dist/index.d.ts +40 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -3
- package/dist/index.js.map +1 -1
- package/dist/job-context.d.ts +107 -0
- package/dist/job-context.d.ts.map +1 -0
- package/dist/job-context.js +95 -0
- package/dist/job-context.js.map +1 -0
- package/dist/jobs-cancel-route.d.ts +36 -0
- package/dist/jobs-cancel-route.d.ts.map +1 -0
- package/dist/jobs-cancel-route.js +60 -0
- package/dist/jobs-cancel-route.js.map +1 -0
- package/dist/jobs-helper-tools.d.ts +48 -0
- package/dist/jobs-helper-tools.d.ts.map +1 -0
- package/dist/jobs-helper-tools.js +133 -0
- package/dist/jobs-helper-tools.js.map +1 -0
- package/dist/llm-agent.d.ts +62 -53
- package/dist/llm-agent.d.ts.map +1 -1
- package/dist/llm-agent.js +211 -292
- package/dist/llm-agent.js.map +1 -1
- package/dist/llm-provider.d.ts +11 -4
- package/dist/llm-provider.d.ts.map +1 -1
- package/dist/llm-provider.js +57 -4
- package/dist/llm-provider.js.map +1 -1
- package/dist/llm.d.ts +4 -1
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +7 -17
- package/dist/llm.js.map +1 -1
- package/dist/media/resolver.d.ts.map +1 -1
- package/dist/media/resolver.js +3 -2
- package/dist/media/resolver.js.map +1 -1
- package/dist/mesh-job-submitter.d.ts +83 -0
- package/dist/mesh-job-submitter.d.ts.map +1 -0
- package/dist/mesh-job-submitter.js +143 -0
- package/dist/mesh-job-submitter.js.map +1 -0
- package/dist/provider-handlers/gemini-handler.js +5 -0
- package/dist/provider-handlers/gemini-handler.js.map +1 -1
- package/dist/proxy.d.ts +40 -0
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +375 -2
- package/dist/proxy.js.map +1 -1
- package/dist/resolver-meshjob.d.ts +170 -0
- package/dist/resolver-meshjob.d.ts.map +1 -0
- package/dist/resolver-meshjob.js +159 -0
- package/dist/resolver-meshjob.js.map +1 -0
- package/dist/route.d.ts +4 -0
- package/dist/route.d.ts.map +1 -1
- package/dist/route.js.map +1 -1
- package/dist/schema-normalize.d.ts +62 -0
- package/dist/schema-normalize.d.ts.map +1 -0
- package/dist/schema-normalize.js +128 -0
- package/dist/schema-normalize.js.map +1 -0
- package/dist/sse-stream.d.ts +44 -0
- package/dist/sse-stream.d.ts.map +1 -0
- package/dist/sse-stream.js +173 -0
- package/dist/sse-stream.js.map +1 -0
- package/dist/tool-worker-entry.d.ts +21 -0
- package/dist/tool-worker-entry.d.ts.map +1 -0
- package/dist/tool-worker-entry.js +162 -0
- package/dist/tool-worker-entry.js.map +1 -0
- package/dist/tool-worker-pool.d.ts +49 -0
- package/dist/tool-worker-pool.d.ts.map +1 -0
- package/dist/tool-worker-pool.js +272 -0
- package/dist/tool-worker-pool.js.map +1 -0
- package/dist/types.d.ts +351 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript-side claim dispatcher (Phase 1 — MeshJob substrate).
|
|
3
|
+
*
|
|
4
|
+
* Mirrors Python's `_mcp_mesh.engine.claim_dispatcher.PythonClaimDispatcher`.
|
|
5
|
+
*
|
|
6
|
+
* Per `MESHJOB_DESIGN.org` / "Producer-side flow / Resched": the
|
|
7
|
+
* registry's HEAD heartbeat may include `X-Mesh-Pending-Jobs: <n>` when
|
|
8
|
+
* this agent has unclaimed jobs in capabilities it serves. The runtime
|
|
9
|
+
* calls `POST /jobs/claim` to atomically acquire one job per round-trip,
|
|
10
|
+
* then dispatches it locally.
|
|
11
|
+
*
|
|
12
|
+
* Architecture choice for Phase 1
|
|
13
|
+
* --------------------------------
|
|
14
|
+
*
|
|
15
|
+
* The Rust core exposes the substrate to do this in-process via
|
|
16
|
+
* `crate::claim_worker::spawn_claim_worker` + a per-language
|
|
17
|
+
* `ClaimDispatcher` trait. Bridging that trait to a JS object across
|
|
18
|
+
* napi-rs (with proper `Send + Sync + 'static` bounds and an async
|
|
19
|
+
* return) is non-trivial — the cleanest cross-language design ships in
|
|
20
|
+
* Phase 2. For Phase 1 the dispatcher is implemented purely in TS:
|
|
21
|
+
* a polling loop bound to the agent lifecycle.
|
|
22
|
+
*
|
|
23
|
+
* Concurrency cap defaults to 4 in-flight handlers, matching:
|
|
24
|
+
* - `crate::claim_worker::ClaimWorkerConfig::new` (Rust core)
|
|
25
|
+
* - `_MAX_CONCURRENT_DISPATCHES` (Python claim dispatcher)
|
|
26
|
+
*
|
|
27
|
+
* The permit is acquired BEFORE polling `/jobs/claim` (not after) so
|
|
28
|
+
* the dispatcher cannot claim more jobs than it can immediately
|
|
29
|
+
* execute. Without this, the dispatcher could pull a 5th job from the
|
|
30
|
+
* registry and stamp itself as owner while it sat in a queue with the
|
|
31
|
+
* lease ticking down — the registry would then orphan and re-claim the
|
|
32
|
+
* job after the lease expired. PR #883 fixed this same divergence in
|
|
33
|
+
* the Python dispatcher; we mirror the fix here from the start.
|
|
34
|
+
*/
|
|
35
|
+
import { Agent } from "undici";
|
|
36
|
+
import { runWithJobContext, makeJobController, } from "./inbound-job-dispatch.js";
|
|
37
|
+
import { runWithPropagatedHeaders } from "./proxy.js";
|
|
38
|
+
const _POLL_BASE_MS = 500;
|
|
39
|
+
const _POLL_MAX_MS = 5000;
|
|
40
|
+
const _MAX_CONCURRENT_DISPATCHES = 4;
|
|
41
|
+
const _CONSECUTIVE_FAILURES_ERROR_THRESHOLD = 5;
|
|
42
|
+
/**
|
|
43
|
+
* One dispatcher per (capability, handler) pair. Spawned on agent
|
|
44
|
+
* startup for every tool registered with `task: true`.
|
|
45
|
+
*/
|
|
46
|
+
export class ClaimDispatcher {
|
|
47
|
+
capability;
|
|
48
|
+
instanceId;
|
|
49
|
+
registryUrl;
|
|
50
|
+
handler;
|
|
51
|
+
/**
|
|
52
|
+
* Issue #894: per-tool retryOn whitelist. When the handler raises an
|
|
53
|
+
* Error matching one of the constructor classes, the dispatch wrapper
|
|
54
|
+
* calls `controller.releaseLease(reason)` instead of `fail(reason)`
|
|
55
|
+
* so a peer replica can re-claim within ~5s. Threaded straight through
|
|
56
|
+
* to `runWithJobContext`. `undefined` / `[]` disables retry (existing
|
|
57
|
+
* fail-on-throw behaviour).
|
|
58
|
+
*/
|
|
59
|
+
retryOn;
|
|
60
|
+
_stopped = false;
|
|
61
|
+
_loopPromise = null;
|
|
62
|
+
_consecutiveFailures = 0;
|
|
63
|
+
/**
|
|
64
|
+
* Permits in-flight; counts down toward 0. The loop blocks on
|
|
65
|
+
* `acquire()` before issuing a claim, so the dispatcher never owns
|
|
66
|
+
* more jobs than it can immediately execute. Released in the
|
|
67
|
+
* dispatch task's `finally` block.
|
|
68
|
+
*/
|
|
69
|
+
_permits = _MAX_CONCURRENT_DISPATCHES;
|
|
70
|
+
/** Wake-up callbacks for the permit semaphore. */
|
|
71
|
+
_permitWaiters = [];
|
|
72
|
+
/** Wake-up callbacks for the backoff sleep (so stop() exits promptly). */
|
|
73
|
+
_sleepWaiters = [];
|
|
74
|
+
/**
|
|
75
|
+
* In-flight handler dispatch promises. Tracked so `stop()` can drain
|
|
76
|
+
* them before closing `_httpAgent` — without this, the keep-alive
|
|
77
|
+
* pool gets torn down while handler `controller.complete(...)` /
|
|
78
|
+
* `controller.fail(...)` calls are still mid-fetch, which surfaces
|
|
79
|
+
* as cryptic socket-close errors and (worse) leaves rows in `working`
|
|
80
|
+
* because the terminal delta never reached the registry.
|
|
81
|
+
*/
|
|
82
|
+
_inflightHandlers = new Set();
|
|
83
|
+
/**
|
|
84
|
+
* Per-dispatcher keep-alive HTTP agent for `/jobs/claim` polls.
|
|
85
|
+
*
|
|
86
|
+
* Mirrors Python's `httpx.AsyncClient(timeout=10)` lifetime — one
|
|
87
|
+
* client per dispatcher (not per poll) so the TLS handshake + TCP
|
|
88
|
+
* connection are reused across the polling loop. Pool size matches
|
|
89
|
+
* the dispatch semaphore (`_MAX_CONCURRENT_DISPATCHES`) since claim
|
|
90
|
+
* polls are serialised by the loop and never need more than that.
|
|
91
|
+
* Closed in `stop()` so socket pools don't leak across agent restarts.
|
|
92
|
+
*/
|
|
93
|
+
_httpAgent = new Agent({
|
|
94
|
+
keepAliveTimeout: 30_000,
|
|
95
|
+
keepAliveMaxTimeout: 60_000,
|
|
96
|
+
connections: _MAX_CONCURRENT_DISPATCHES,
|
|
97
|
+
});
|
|
98
|
+
constructor(capability, instanceId, registryUrl, handler, retryOn) {
|
|
99
|
+
this.capability = capability;
|
|
100
|
+
this.instanceId = instanceId;
|
|
101
|
+
this.registryUrl = registryUrl;
|
|
102
|
+
this.handler = handler;
|
|
103
|
+
this.retryOn = retryOn;
|
|
104
|
+
}
|
|
105
|
+
/** Spawn the polling loop. Idempotent. */
|
|
106
|
+
start() {
|
|
107
|
+
if (this._loopPromise)
|
|
108
|
+
return;
|
|
109
|
+
this._loopPromise = this._runLoop().catch((err) => {
|
|
110
|
+
console.error(`[mesh-claim] dispatcher capability=${this.capability} loop crashed:`, err);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Signal stop and await the loop. Best-effort; never throws.
|
|
115
|
+
*
|
|
116
|
+
* Drain order:
|
|
117
|
+
* 1. flip `_stopped` so the loop exits at its next yield;
|
|
118
|
+
* 2. wake any blocked waiters so the loop observes the signal;
|
|
119
|
+
* 3. await the loop promise (no more new dispatches after this);
|
|
120
|
+
* 4. await any in-flight handler dispatches (bounded by `timeoutMs`)
|
|
121
|
+
* so handlers finish their final `controller.complete/fail` HTTP
|
|
122
|
+
* calls before `_httpAgent` is torn down;
|
|
123
|
+
* 5. close the keep-alive pool.
|
|
124
|
+
*
|
|
125
|
+
* @param timeoutMs - Bounded wait for in-flight handlers. Defaults to
|
|
126
|
+
* 30s — long enough that a typical job's terminal flush completes,
|
|
127
|
+
* short enough that a runaway handler doesn't block shutdown
|
|
128
|
+
* forever. Caller is free to override (e.g. tests pass `0` for an
|
|
129
|
+
* immediate close).
|
|
130
|
+
*/
|
|
131
|
+
async stop(timeoutMs = 30_000) {
|
|
132
|
+
this._stopped = true;
|
|
133
|
+
// Wake any waiters so the loop can observe the stop signal.
|
|
134
|
+
while (this._permitWaiters.length)
|
|
135
|
+
this._permitWaiters.shift()();
|
|
136
|
+
while (this._sleepWaiters.length)
|
|
137
|
+
this._sleepWaiters.shift()();
|
|
138
|
+
if (this._loopPromise) {
|
|
139
|
+
try {
|
|
140
|
+
await this._loopPromise;
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
/* swallow */
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Drain in-flight handler dispatches before closing the keep-alive
|
|
147
|
+
// pool. `_inflightHandlers` is a Set<Promise<void>> populated in
|
|
148
|
+
// _dispatchWithPermit; entries self-remove via .finally().
|
|
149
|
+
if (this._inflightHandlers.size > 0) {
|
|
150
|
+
const drain = Promise.allSettled([...this._inflightHandlers]);
|
|
151
|
+
if (timeoutMs <= 0) {
|
|
152
|
+
// Caller asked for an immediate close — skip the drain entirely.
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
let drainTimer = null;
|
|
156
|
+
const drainTimeout = new Promise((resolve) => {
|
|
157
|
+
drainTimer = setTimeout(() => {
|
|
158
|
+
console.warn(`[mesh-claim] capability=${this.capability} instance=${this.instanceId}: ` +
|
|
159
|
+
`stop() drain timed out after ${timeoutMs}ms with ${this._inflightHandlers.size} ` +
|
|
160
|
+
`handler(s) still in-flight; closing keep-alive pool anyway`);
|
|
161
|
+
resolve();
|
|
162
|
+
}, timeoutMs);
|
|
163
|
+
});
|
|
164
|
+
try {
|
|
165
|
+
await Promise.race([drain, drainTimeout]);
|
|
166
|
+
}
|
|
167
|
+
finally {
|
|
168
|
+
if (drainTimer)
|
|
169
|
+
clearTimeout(drainTimer);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// Close the keep-alive pool so sockets don't leak across agent
|
|
174
|
+
// restarts in long-lived test harnesses (mirrors the Python
|
|
175
|
+
// dispatcher's `httpx.AsyncClient.aclose()` in `stop()`).
|
|
176
|
+
try {
|
|
177
|
+
await this._httpAgent.close();
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
/* best-effort cleanup */
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async _acquire() {
|
|
184
|
+
if (this._permits > 0) {
|
|
185
|
+
this._permits -= 1;
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
return new Promise((resolve) => {
|
|
189
|
+
this._permitWaiters.push(() => {
|
|
190
|
+
this._permits -= 1;
|
|
191
|
+
resolve();
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
_release() {
|
|
196
|
+
this._permits += 1;
|
|
197
|
+
const next = this._permitWaiters.shift();
|
|
198
|
+
if (next)
|
|
199
|
+
next();
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Single `POST /jobs/claim` round-trip. Returns the list of claimed
|
|
203
|
+
* jobs (empty when no work is available, or 1-element when a job
|
|
204
|
+
* was claimed — the Phase 1 wire is single-claim).
|
|
205
|
+
*
|
|
206
|
+
* Errors are logged and treated as "no work" so the loop backs off
|
|
207
|
+
* rather than crashing.
|
|
208
|
+
*/
|
|
209
|
+
async _claimOnce() {
|
|
210
|
+
const url = `${this.registryUrl.replace(/\/$/, "")}/jobs/claim`;
|
|
211
|
+
const body = {
|
|
212
|
+
capability: this.capability,
|
|
213
|
+
instance_id: this.instanceId,
|
|
214
|
+
};
|
|
215
|
+
let resp;
|
|
216
|
+
try {
|
|
217
|
+
const controller = new AbortController();
|
|
218
|
+
const timeout = setTimeout(() => controller.abort(), 10_000);
|
|
219
|
+
try {
|
|
220
|
+
resp = await fetch(url, {
|
|
221
|
+
method: "POST",
|
|
222
|
+
headers: { "content-type": "application/json" },
|
|
223
|
+
body: JSON.stringify(body),
|
|
224
|
+
signal: controller.signal,
|
|
225
|
+
// Keep-alive pool — reuses TCP/TLS across polls. See
|
|
226
|
+
// `_httpAgent` field for sizing rationale. Cast required
|
|
227
|
+
// because Node's `fetch` types don't expose the undici
|
|
228
|
+
// dispatcher slot; runtime accepts it.
|
|
229
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
230
|
+
dispatcher: this._httpAgent,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
clearTimeout(timeout);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
this._consecutiveFailures += 1;
|
|
239
|
+
this._logClaimFailure(`claim_once error: ${err?.name ?? "Error"}: ${err?.message ?? String(err)}`);
|
|
240
|
+
return [];
|
|
241
|
+
}
|
|
242
|
+
if (resp.status === 204) {
|
|
243
|
+
this._consecutiveFailures = 0;
|
|
244
|
+
return [];
|
|
245
|
+
}
|
|
246
|
+
if (resp.status !== 200) {
|
|
247
|
+
this._consecutiveFailures += 1;
|
|
248
|
+
this._logClaimFailure(`unexpected status ${resp.status} from ${url}`);
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
let parsed;
|
|
252
|
+
try {
|
|
253
|
+
parsed = await resp.json();
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
this._consecutiveFailures += 1;
|
|
257
|
+
this._logClaimFailure(`malformed JSON: ${err?.message}`);
|
|
258
|
+
return [];
|
|
259
|
+
}
|
|
260
|
+
const claimed = parsed?.claimed;
|
|
261
|
+
if (!Array.isArray(claimed)) {
|
|
262
|
+
this._consecutiveFailures += 1;
|
|
263
|
+
this._logClaimFailure(`malformed response — 'claimed' is not a list: ${JSON.stringify(claimed)}`);
|
|
264
|
+
return [];
|
|
265
|
+
}
|
|
266
|
+
this._consecutiveFailures = 0;
|
|
267
|
+
return claimed.filter((c) => c && typeof c === "object" && c.id);
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Fail a job by posting a single `failed` delta to `/jobs/batch`,
|
|
271
|
+
* bypassing the (failed) controller construction path. Used as a
|
|
272
|
+
* fallback when `makeJobController` throws — without this the row
|
|
273
|
+
* stays in `working` until the lease sweep, which can be minutes.
|
|
274
|
+
*
|
|
275
|
+
* Best-effort: any error here is logged at warn level (we already
|
|
276
|
+
* lost the controller for the original error, can't lose visibility
|
|
277
|
+
* of the fallback too) but does not throw — the registry sweep is
|
|
278
|
+
* still the ultimate backstop.
|
|
279
|
+
*/
|
|
280
|
+
async _failJobByIdDirectly(jobId, reason) {
|
|
281
|
+
const url = `${this.registryUrl.replace(/\/$/, "")}/jobs/batch`;
|
|
282
|
+
const body = {
|
|
283
|
+
instance_id: this.instanceId,
|
|
284
|
+
deltas: [
|
|
285
|
+
{
|
|
286
|
+
id: jobId,
|
|
287
|
+
status: "failed",
|
|
288
|
+
error: reason,
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
};
|
|
292
|
+
try {
|
|
293
|
+
const controller = new AbortController();
|
|
294
|
+
const timeout = setTimeout(() => controller.abort(), 10_000);
|
|
295
|
+
try {
|
|
296
|
+
const resp = await fetch(url, {
|
|
297
|
+
method: "POST",
|
|
298
|
+
headers: { "content-type": "application/json" },
|
|
299
|
+
body: JSON.stringify(body),
|
|
300
|
+
signal: controller.signal,
|
|
301
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
302
|
+
dispatcher: this._httpAgent,
|
|
303
|
+
});
|
|
304
|
+
if (resp.status !== 200) {
|
|
305
|
+
console.warn(`[mesh-claim] /jobs/batch returned ${resp.status} when failing ` +
|
|
306
|
+
`job=${jobId} after controller construction failure; relying ` +
|
|
307
|
+
`on registry sweep`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
clearTimeout(timeout);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
catch (err) {
|
|
315
|
+
console.warn(`[mesh-claim] /jobs/batch fail-fast for job=${jobId} raised:`, err);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
_logClaimFailure(detail) {
|
|
319
|
+
const msg = `[mesh-claim] capability=${this.capability} instance=${this.instanceId}: ` +
|
|
320
|
+
`${detail} (consecutive_failures=${this._consecutiveFailures})`;
|
|
321
|
+
if (this._consecutiveFailures >= _CONSECUTIVE_FAILURES_ERROR_THRESHOLD) {
|
|
322
|
+
console.error(msg);
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
console.warn(msg);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Run the local handler for a claimed job. The handler signature is
|
|
330
|
+
* `(payload, controller) => Promise<unknown>`; the wrapper sets both
|
|
331
|
+
* job contexts (JS ALS + Rust task-local) and auto-completes if the
|
|
332
|
+
* handler returns without explicitly closing the row.
|
|
333
|
+
*/
|
|
334
|
+
async _dispatch(claimed) {
|
|
335
|
+
const jobId = String(claimed.id ?? "");
|
|
336
|
+
if (!jobId)
|
|
337
|
+
return;
|
|
338
|
+
const payload = claimed.submitted_payload && typeof claimed.submitted_payload === "object"
|
|
339
|
+
? claimed.submitted_payload
|
|
340
|
+
: {};
|
|
341
|
+
const maxDur = claimed.max_duration;
|
|
342
|
+
const deadlineSecs = typeof maxDur === "number" && maxDur > 0 ? maxDur : null;
|
|
343
|
+
let controller;
|
|
344
|
+
try {
|
|
345
|
+
controller = makeJobController(jobId, this.instanceId, this.registryUrl);
|
|
346
|
+
}
|
|
347
|
+
catch (err) {
|
|
348
|
+
console.warn(`[mesh-claim] failed to construct JobController for job=${jobId}:`, err);
|
|
349
|
+
// Fail the job immediately so the registry doesn't wait on lease
|
|
350
|
+
// expiry to mark the row terminal — without this the row sits in
|
|
351
|
+
// `working` indefinitely (visible to users as a stuck job) until
|
|
352
|
+
// the lease sweeper notices. We can't use controller.fail()
|
|
353
|
+
// because controller construction is what failed; instead we
|
|
354
|
+
// POST a single `failed` delta to /jobs/batch directly using the
|
|
355
|
+
// dispatcher's keep-alive agent.
|
|
356
|
+
await this._failJobByIdDirectly(jobId, `controller construction failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
// Seed the propagated-headers ALS so outbound calls made by the
|
|
360
|
+
// handler continue the submitter's trace tree and carry the job
|
|
361
|
+
// context onward. Mirrors Python's
|
|
362
|
+
// `TraceContext.set_propagated_headers` block in
|
|
363
|
+
// `_mcp_mesh.engine.claim_dispatcher.PythonClaimDispatcher._dispatch`.
|
|
364
|
+
//
|
|
365
|
+
// Trace headers (`x-trace-id`, `x-parent-span`) are not echoed by
|
|
366
|
+
// the registry's claim response in the current wire (see
|
|
367
|
+
// `src/core/registry/ent_handlers_jobs.go::ClaimJobs`), so we only
|
|
368
|
+
// seed `x-mesh-job-id` + `x-mesh-timeout` here. If a future schema
|
|
369
|
+
// adds `trace_id` to ClaimedJob, fold it in alongside.
|
|
370
|
+
const headers = {
|
|
371
|
+
"x-mesh-job-id": jobId,
|
|
372
|
+
};
|
|
373
|
+
if (deadlineSecs !== null && deadlineSecs > 0) {
|
|
374
|
+
headers["x-mesh-timeout"] = String(deadlineSecs);
|
|
375
|
+
}
|
|
376
|
+
try {
|
|
377
|
+
await runWithPropagatedHeaders(headers, () => runWithJobContext(jobId, deadlineSecs, controller, () => this.handler(payload, controller), this.retryOn));
|
|
378
|
+
}
|
|
379
|
+
catch (err) {
|
|
380
|
+
console.warn(`[mesh-claim] handler raised for job=${jobId} capability=${this.capability}:`, err);
|
|
381
|
+
// runWithJobContext already attempted a best-effort
|
|
382
|
+
// controller.fail() before re-throwing; nothing more to do here.
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Main loop. Acquire-then-claim ordering — see class docstring.
|
|
387
|
+
*/
|
|
388
|
+
async _runLoop() {
|
|
389
|
+
let backoffMs = _POLL_BASE_MS;
|
|
390
|
+
console.log(`[mesh-claim] dispatcher started: capability=${this.capability} instance=${this.instanceId}`);
|
|
391
|
+
while (!this._stopped) {
|
|
392
|
+
// Acquire BEFORE claim so we never pull a job we can't run.
|
|
393
|
+
await this._acquire();
|
|
394
|
+
if (this._stopped) {
|
|
395
|
+
this._release();
|
|
396
|
+
break;
|
|
397
|
+
}
|
|
398
|
+
let permitTransferred = false;
|
|
399
|
+
try {
|
|
400
|
+
const claimed = await this._claimOnce();
|
|
401
|
+
if (claimed.length > 1) {
|
|
402
|
+
// Defensive warn (W3): the Phase 1 wire is single-claim by
|
|
403
|
+
// design — `POST /jobs/claim` returns at most one job per
|
|
404
|
+
// round-trip (see `crate::claim_worker::ClaimWorkerConfig`
|
|
405
|
+
// and the registry's ClaimJobs handler). Receiving > 1 here
|
|
406
|
+
// means a future wire change (multi-claim) shipped without
|
|
407
|
+
// re-validating the dispatcher's permit accounting. We
|
|
408
|
+
// already handle the multi-claim case via the
|
|
409
|
+
// re-acquire-per-extra loop below — the warn just surfaces
|
|
410
|
+
// the unexpected shape so a future wire change is caught
|
|
411
|
+
// explicitly rather than silently relying on the loop.
|
|
412
|
+
console.warn(`[mesh-claim] capability=${this.capability} instance=${this.instanceId}: ` +
|
|
413
|
+
`unexpected multi-claim response (got ${claimed.length} jobs) — ` +
|
|
414
|
+
`Phase 1 wire is single-claim by design; defensive multi-claim ` +
|
|
415
|
+
`path engaged`);
|
|
416
|
+
}
|
|
417
|
+
if (claimed.length > 0) {
|
|
418
|
+
// First claim: hand the permit ownership to the dispatch
|
|
419
|
+
// task. Future-safe extras: re-acquire permits one-by-one.
|
|
420
|
+
let first = true;
|
|
421
|
+
for (const job of claimed) {
|
|
422
|
+
if (first) {
|
|
423
|
+
first = false;
|
|
424
|
+
permitTransferred = true;
|
|
425
|
+
this._dispatchWithPermit(job);
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
await this._acquire();
|
|
429
|
+
this._dispatchWithPermit(job);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
backoffMs = _POLL_BASE_MS;
|
|
433
|
+
continue;
|
|
434
|
+
}
|
|
435
|
+
// No work — wait with backoff. Release permit; we won't use it.
|
|
436
|
+
this._release();
|
|
437
|
+
permitTransferred = true; // already released; finally must skip
|
|
438
|
+
await this._sleep(backoffMs);
|
|
439
|
+
backoffMs = Math.min(backoffMs * 2, _POLL_MAX_MS);
|
|
440
|
+
}
|
|
441
|
+
finally {
|
|
442
|
+
if (!permitTransferred) {
|
|
443
|
+
this._release();
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
console.log(`[mesh-claim] dispatcher stopped: capability=${this.capability} instance=${this.instanceId}`);
|
|
448
|
+
}
|
|
449
|
+
_dispatchWithPermit(claimed) {
|
|
450
|
+
// Spawn but do NOT await — _runLoop continues to the next claim
|
|
451
|
+
// attempt. The permit is released when this dispatch finishes.
|
|
452
|
+
// Track the promise in `_inflightHandlers` so `stop()` can drain
|
|
453
|
+
// any in-flight handlers before closing the keep-alive Agent.
|
|
454
|
+
const p = this._dispatch(claimed).finally(() => {
|
|
455
|
+
this._inflightHandlers.delete(p);
|
|
456
|
+
this._release();
|
|
457
|
+
});
|
|
458
|
+
this._inflightHandlers.add(p);
|
|
459
|
+
}
|
|
460
|
+
_sleep(ms) {
|
|
461
|
+
return new Promise((resolve) => {
|
|
462
|
+
let resolved = false;
|
|
463
|
+
const wake = () => {
|
|
464
|
+
if (resolved)
|
|
465
|
+
return;
|
|
466
|
+
resolved = true;
|
|
467
|
+
clearTimeout(handle);
|
|
468
|
+
const idx = this._sleepWaiters.indexOf(wake);
|
|
469
|
+
if (idx >= 0)
|
|
470
|
+
this._sleepWaiters.splice(idx, 1);
|
|
471
|
+
resolve();
|
|
472
|
+
};
|
|
473
|
+
const handle = setTimeout(wake, ms);
|
|
474
|
+
this._sleepWaiters.push(wake);
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
//# sourceMappingURL=claim-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-dispatcher.js","sourceRoot":"","sources":["../src/claim-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,qCAAqC,GAAG,CAAC,CAAC;AAkBhD;;;GAGG;AACH,MAAM,OAAO,eAAe;IACjB,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,WAAW,CAAS;IACZ,OAAO,CAAe;IACvC;;;;;;;OAOG;IACc,OAAO,CAAoD;IAEpE,QAAQ,GAAG,KAAK,CAAC;IACjB,YAAY,GAAyB,IAAI,CAAC;IAC1C,oBAAoB,GAAG,CAAC,CAAC;IACjC;;;;;OAKG;IACK,QAAQ,GAAG,0BAA0B,CAAC;IAC9C,kDAAkD;IAC1C,cAAc,GAAsB,EAAE,CAAC;IAC/C,0EAA0E;IAClE,aAAa,GAAsB,EAAE,CAAC;IAC9C;;;;;;;OAOG;IACK,iBAAiB,GAAuB,IAAI,GAAG,EAAE,CAAC;IAC1D;;;;;;;;;OASG;IACc,UAAU,GAAU,IAAI,KAAK,CAAC;QAC7C,gBAAgB,EAAE,MAAM;QACxB,mBAAmB,EAAE,MAAM;QAC3B,WAAW,EAAE,0BAA0B;KACxC,CAAC,CAAC;IAEH,YACE,UAAkB,EAClB,UAAkB,EAClB,WAAmB,EACnB,OAAqB,EACrB,OAA0D;QAE1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,0CAA0C;IAC1C,KAAK;QACH,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAChD,OAAO,CAAC,KAAK,CACX,sCAAsC,IAAI,CAAC,UAAU,gBAAgB,EACrE,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,IAAI,CAAC,YAAoB,MAAM;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,4DAA4D;QAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAG,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM;YAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAG,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa;YACf,CAAC;QACH,CAAC;QACD,mEAAmE;QACnE,iEAAiE;QACjE,2DAA2D;QAC3D,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9D,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,iEAAiE;YACnE,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,GAAyC,IAAI,CAAC;gBAC5D,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACjD,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC3B,OAAO,CAAC,IAAI,CACV,2BAA2B,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,IAAI;4BACxE,gCAAgC,SAAS,WAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG;4BAClF,4DAA4D,CAC/D,CAAC;wBACF,OAAO,EAAE,CAAC;oBACZ,CAAC,EAAE,SAAS,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC5C,CAAC;wBAAS,CAAC;oBACT,IAAI,UAAU;wBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QACD,+DAA+D;QAC/D,4DAA4D;QAC5D,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI;YAAE,IAAI,EAAE,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,UAAU;QACtB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC;QACF,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACtB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,qDAAqD;oBACrD,yDAAyD;oBACzD,uDAAuD;oBACvD,uCAAuC;oBACvC,8DAA8D;oBAC9D,UAAU,EAAE,IAAI,CAAC,UAAiB;iBACpB,CAAC,CAAC;YACpB,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CACnB,qBAAsB,GAAa,EAAE,IAAI,IAAI,OAAO,KACjD,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CACvC,EAAE,CACH,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,mBAAoB,GAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAI,MAAgC,EAAE,OAAO,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CACnB,iDAAiD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAC3E,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAK,CAAsB,CAAC,EAAE,CAC9B,CAAC;IACtC,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,oBAAoB,CAChC,KAAa,EACb,MAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC;QAChE,MAAM,IAAI,GAAG;YACX,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,MAAM;iBACd;aACF;SACF,CAAC;QACF,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAC5B,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,8DAA8D;oBAC9D,UAAU,EAAE,IAAI,CAAC,UAAiB;iBACpB,CAAC,CAAC;gBAClB,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CACV,qCAAqC,IAAI,CAAC,MAAM,gBAAgB;wBAC9D,OAAO,KAAK,kDAAkD;wBAC9D,mBAAmB,CACtB,CAAC;gBACJ,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,8CAA8C,KAAK,UAAU,EAC7D,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,MAAc;QACrC,MAAM,GAAG,GACP,2BAA2B,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,IAAI;YAC1E,GAAG,MAAM,0BAA0B,IAAI,CAAC,oBAAoB,GAAG,CAAC;QAClE,IAAI,IAAI,CAAC,oBAAoB,IAAI,qCAAqC,EAAE,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,SAAS,CAAC,OAAgC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,OAAO,GACX,OAAO,CAAC,iBAAiB,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ;YACxE,CAAC,CAAE,OAAO,CAAC,iBAA6C;YACxD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,OAAO,CAAC,YAAkC,CAAC;QAC1D,MAAM,YAAY,GAChB,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3D,IAAI,UAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,0DAA0D,KAAK,GAAG,EAClE,GAAG,CACJ,CAAC;YACF,iEAAiE;YACjE,iEAAiE;YACjE,iEAAiE;YACjE,4DAA4D;YAC5D,6DAA6D;YAC7D,iEAAiE;YACjE,iCAAiC;YACjC,MAAM,IAAI,CAAC,oBAAoB,CAC7B,KAAK,EACL,mCACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,gEAAgE;QAChE,mCAAmC;QACnC,iDAAiD;QACjD,uEAAuE;QACvE,EAAE;QACF,kEAAkE;QAClE,yDAAyD;QACzD,mEAAmE;QACnE,mEAAmE;QACnE,uDAAuD;QACvD,MAAM,OAAO,GAA2B;YACtC,eAAe,EAAE,KAAK;SACvB,CAAC;QACF,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,CAC3C,iBAAiB,CACf,KAAK,EACL,YAAY,EACZ,UAAU,EACV,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EACvC,IAAI,CAAC,OAAO,CACb,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,uCAAuC,KAAK,eAAe,IAAI,CAAC,UAAU,GAAG,EAC7E,GAAG,CACJ,CAAC;YACF,oDAAoD;YACpD,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ;QACpB,IAAI,SAAS,GAAG,aAAa,CAAC;QAC9B,OAAO,CAAC,GAAG,CACT,+CAA+C,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,EAAE,CAC7F,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,4DAA4D;YAC5D,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;YACD,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,2DAA2D;oBAC3D,0DAA0D;oBAC1D,2DAA2D;oBAC3D,4DAA4D;oBAC5D,2DAA2D;oBAC3D,uDAAuD;oBACvD,8CAA8C;oBAC9C,2DAA2D;oBAC3D,yDAAyD;oBACzD,uDAAuD;oBACvD,OAAO,CAAC,IAAI,CACV,2BAA2B,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,IAAI;wBACxE,wCAAwC,OAAO,CAAC,MAAM,WAAW;wBACjE,gEAAgE;wBAChE,cAAc,CACjB,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,yDAAyD;oBACzD,2DAA2D;oBAC3D,IAAI,KAAK,GAAG,IAAI,CAAC;oBACjB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBAC1B,IAAI,KAAK,EAAE,CAAC;4BACV,KAAK,GAAG,KAAK,CAAC;4BACd,iBAAiB,GAAG,IAAI,CAAC;4BACzB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACtB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;oBACD,SAAS,GAAG,aAAa,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,gEAAgE;gBAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,iBAAiB,GAAG,IAAI,CAAC,CAAC,sCAAsC;gBAChE,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7B,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;YACpD,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CACT,+CAA+C,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,EAAE,CAC7F,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,OAAgC;QAC1D,gEAAgE;QAChE,+DAA+D;QAC/D,iEAAiE;QACjE,8DAA8D;QAC9D,MAAM,CAAC,GAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAC5D,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,EAAU;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,GAAG,IAAI,CAAC;oBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAChD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/express.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA4DnE;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB;IAuBvD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAoCnB;;OAEG;YACW,cAAc;IA4C5B;;OAEG;YACW,YAAY;IA0E1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyCjC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA+BnC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,SAAS,IAAI,mBAAmB;IAIhC;;OAEG;IACH,MAAM,IAAI,WAAW;IAIrB;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,SAAS,IAAI,aAAa,GAAG,IAAI;IAIjC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAchC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,GACxB,WAAW,CAEb"}
|
package/dist/express.js
CHANGED
|
@@ -46,11 +46,16 @@ import { createProxy } from "./proxy.js";
|
|
|
46
46
|
import { RouteRegistry } from "./route.js";
|
|
47
47
|
import { initTracing } from "./tracing.js";
|
|
48
48
|
import { getTlsConfigCached, getTlsOptions, prepareTls, cleanupTls } from "./tls-config.js";
|
|
49
|
+
import { clusterStrictEnabled, normalizeSchemaWithPolicy, } from "./schema-normalize.js";
|
|
50
|
+
import { A2AProducerRegistry } from "./a2a/producer/registry.js";
|
|
49
51
|
/**
|
|
50
52
|
* Build tool specs from registered routes.
|
|
51
53
|
* Shared helper for consistent tool spec generation.
|
|
52
54
|
*/
|
|
53
55
|
function buildToolSpecs(routes) {
|
|
56
|
+
// Issue #547 Phase 4: cluster strict knob promotes WARN→BLOCK. Routes are
|
|
57
|
+
// consumer-side so there's no per-tool override.
|
|
58
|
+
const clusterStrict = clusterStrictEnabled();
|
|
54
59
|
return routes
|
|
55
60
|
.filter((route) => route.dependencies.length > 0)
|
|
56
61
|
.map((route) => ({
|
|
@@ -61,11 +66,24 @@ function buildToolSpecs(routes) {
|
|
|
61
66
|
description: "",
|
|
62
67
|
// Note: tags may contain nested arrays for OR alternatives (TagSpec[])
|
|
63
68
|
// Serialize to JSON for Rust binding - preserves nested structure
|
|
64
|
-
dependencies: route.dependencies.map((dep) =>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
dependencies: route.dependencies.map((dep) => {
|
|
70
|
+
// Issue #547: per-dep expectedSchema → canonical + hash + matchMode.
|
|
71
|
+
let expectedCanonical;
|
|
72
|
+
let expectedHash;
|
|
73
|
+
if (dep.expectedSchemaRaw) {
|
|
74
|
+
const r = normalizeSchemaWithPolicy(dep.expectedSchemaRaw, `route ${route.routeId} dependency on '${dep.capability}'`, clusterStrict, true);
|
|
75
|
+
expectedCanonical = r.canonicalJson ?? undefined;
|
|
76
|
+
expectedHash = r.hash ?? undefined;
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
capability: dep.capability,
|
|
80
|
+
tags: JSON.stringify(dep.tags ?? []),
|
|
81
|
+
version: dep.version,
|
|
82
|
+
expectedSchemaCanonical: expectedCanonical,
|
|
83
|
+
expectedSchemaHash: expectedHash,
|
|
84
|
+
matchMode: dep.matchMode,
|
|
85
|
+
};
|
|
86
|
+
}),
|
|
69
87
|
inputSchema: undefined,
|
|
70
88
|
}));
|
|
71
89
|
}
|
|
@@ -200,6 +218,14 @@ export class MeshExpress {
|
|
|
200
218
|
const registry = RouteRegistry.getInstance();
|
|
201
219
|
const routes = registry.getRoutes();
|
|
202
220
|
const tools = buildToolSpecs(routes);
|
|
221
|
+
// Issue #933 / #938: flip agent_type to "a2a" when any
|
|
222
|
+
// mesh.a2a.mount(...) surface is registered (spec §2.3 / §8). A2A
|
|
223
|
+
// surfaces and mesh.route() routes coexist on the same agent;
|
|
224
|
+
// agent_type=a2a does NOT mean "no other routes" (matches Python's
|
|
225
|
+
// heartbeat_preparation.py:371-389). Centralized in
|
|
226
|
+
// A2AProducerRegistry.buildAgentSpecContribution so the startup-time
|
|
227
|
+
// value matches the post-mount push path (#938 fix).
|
|
228
|
+
const { agentType, surfacesJson } = A2AProducerRegistry.getInstance().buildAgentSpecContribution("api");
|
|
203
229
|
const spec = {
|
|
204
230
|
// Base name (shared across replicas), unique ID via agentId.
|
|
205
231
|
name: this.config.name,
|
|
@@ -210,9 +236,10 @@ export class MeshExpress {
|
|
|
210
236
|
httpPort: this.config.httpPort,
|
|
211
237
|
httpHost: this.config.httpHost,
|
|
212
238
|
namespace: this.config.namespace,
|
|
213
|
-
agentType
|
|
239
|
+
agentType,
|
|
214
240
|
tools,
|
|
215
241
|
heartbeatInterval: this.config.heartbeatInterval,
|
|
242
|
+
surfaces: surfacesJson,
|
|
216
243
|
};
|
|
217
244
|
// Start the agent via Rust core
|
|
218
245
|
this.handle = startAgent(spec);
|
package/dist/express.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"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"}
|