dsh-thinking-guard 0.1.17 → 0.1.19

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/lib/guard.js CHANGED
@@ -53,6 +53,15 @@ const LOOP_WARNING_LIMIT = 32;
53
53
  function isControlPlaneTool(policy, name) {
54
54
  return RESERVED_TRANSPORT_TOOLS.has(name) || policy.metaTools().includes(name);
55
55
  }
56
+ /**
57
+ * True when this tool can never become a local-block candidate, judged from its
58
+ * name alone. Such a call needs no result fingerprint at all, which is what lets
59
+ * the result stage skip canonicalizing and hashing a payload it would discard.
60
+ */
61
+ function isNonBlockableTool(policy, name, excludedTools, pollingTools, warnOnlyTools) {
62
+ return isControlPlaneTool(policy, name)
63
+ || excludedTools.has(name) || pollingTools.has(name) || warnOnlyTools.has(name);
64
+ }
56
65
  function rememberDeniedCall(state, callId) {
57
66
  if (state.deniedCallIds.has(callId))
58
67
  return;
@@ -78,7 +87,7 @@ function failOpenLoopDetection(state) {
78
87
  state.loopDetectionDisabled = true;
79
88
  state.dispatchRecords.clear();
80
89
  state.pendingLoopObservations.clear();
81
- state.pendingBlockSignatures.clear();
90
+ state.pendingBlockCandidates.clear();
82
91
  state.loopState = createGuardLoopState(state.turn);
83
92
  state.nextLoopSequence = state.nextDispatchSequence;
84
93
  }
@@ -93,15 +102,36 @@ function rememberLoopWarning(state, key) {
93
102
  state.loopWarnings.add(key);
94
103
  return true;
95
104
  }
96
- function rememberBlockCandidate(state, signature) {
97
- if (state.pendingBlockSignatures.has(signature))
105
+ function rememberBlockCandidate(state, signature, source) {
106
+ const sources = state.pendingBlockCandidates.get(signature);
107
+ if (sources !== undefined) {
108
+ sources.add(source);
98
109
  return;
99
- if (state.pendingBlockSignatures.size >= LOOP_HISTORY_LIMIT) {
100
- const oldest = state.pendingBlockSignatures.values().next().value;
110
+ }
111
+ if (state.pendingBlockCandidates.size >= LOOP_HISTORY_LIMIT) {
112
+ const oldest = state.pendingBlockCandidates.keys().next().value;
101
113
  if (oldest !== undefined)
102
- state.pendingBlockSignatures.delete(oldest);
114
+ state.pendingBlockCandidates.delete(oldest);
103
115
  }
104
- state.pendingBlockSignatures.add(signature);
116
+ state.pendingBlockCandidates.set(signature, new Set([source]));
117
+ }
118
+ /**
119
+ * Consume a pending candidate, but only if the detector that produced it is still
120
+ * enabled. A candidate whose source switch was flipped off stops counting instead
121
+ * of being silently ignored, and the other source's candidate survives untouched.
122
+ */
123
+ function takeBlockCandidate(state, signature, allowed) {
124
+ const sources = state.pendingBlockCandidates.get(signature);
125
+ if (sources === undefined)
126
+ return false;
127
+ for (const source of allowed) {
128
+ if (sources.delete(source)) {
129
+ if (sources.size === 0)
130
+ state.pendingBlockCandidates.delete(signature);
131
+ return true;
132
+ }
133
+ }
134
+ return false;
105
135
  }
106
136
  function rememberBlockedSignature(state, signature) {
107
137
  if (state.blockedLoopSignatures.has(signature))
@@ -143,8 +173,10 @@ function handleLoopObservation(state, agent, observation, options) {
143
173
  // No-progress protection is the evidence gate for the LOCAL denial. With it off
144
174
  // the call is still reminded about (below), but never becomes blockable, so the
145
175
  // switch in the settings page changes behaviour instead of being cosmetic.
146
- if (signature !== undefined && decision.blockCandidate && options.noProgressProtection !== false) {
147
- rememberBlockCandidate(state, signature);
176
+ const blockSource = decision.blockSource;
177
+ if (signature !== undefined && decision.blockCandidate && blockSource !== undefined
178
+ && options.noProgressProtection !== false) {
179
+ rememberBlockCandidate(state, signature, blockSource);
148
180
  }
149
181
  if (signature === undefined || decision.warning === 'none')
150
182
  return;
@@ -158,12 +190,13 @@ function handleLoopObservation(state, agent, observation, options) {
158
190
  : `检测到工具调用连续重复(第 ${decision.repeatThreshold ?? decision.repeatCount} 次);请检查已有结果,避免无意义重复。`;
159
191
  agent.inject(shortMessage(message));
160
192
  }
161
- function createLoopOptions(ctx, excludedTools, pollingTools, warnOnlyTools, alternatingCycleEnabled) {
193
+ function createLoopOptions(ctx, excludedTools, pollingTools, warnOnlyTools, repeatDetectionEnabled, alternatingCycleEnabled) {
162
194
  return {
163
195
  repeatThresholds: DEFAULT_REPEAT_THRESHOLDS,
164
196
  excludedTools: new Set([...excludedTools, ...ctx.capabilityPolicy.metaTools(), ...RESERVED_TRANSPORT_TOOLS]),
165
197
  pollingTools,
166
198
  warnOnlyTools,
199
+ repeatDetection: repeatDetectionEnabled,
167
200
  alternatingCycleEnabled,
168
201
  };
169
202
  }
@@ -216,29 +249,69 @@ export function apply(ctx, config = {}) {
216
249
  const pollingTools = new Set([...DEFAULT_POLLING_TOOLS, ...(config.pollingTools ?? [])]);
217
250
  const warnOnlyTools = new Set([...DEFAULT_WARN_ONLY_TOOLS, ...(config.warnOnlyTools ?? [])]);
218
251
  const switches = () => readSwitches(ctx, config);
219
- const loopOptions = () => ({
220
- ...createLoopOptions(ctx, excludedTools, pollingTools, warnOnlyTools, switches().alternatingCycleDetection),
221
- noProgressProtection: switches().noProgressProtection,
222
- });
223
- const toolGuard = ctx.tools.guard((execution) => {
224
- const agent = execution.agent;
252
+ /**
253
+ * True while at least one of the two detectors is on. The observation entries
254
+ * key off this instead of `duplicateDetection` alone, so turning exact-repeat
255
+ * detection off no longer starves the alternating-cycle detector of history.
256
+ */
257
+ const loopDetectionActive = () => {
225
258
  const sw = switches();
226
- if (!sw.enabled || !sw.duplicateDetection || agent === undefined
227
- || isControlPlaneTool(ctx.capabilityPolicy, execution.name)
228
- || excludedTools.has(execution.name) || pollingTools.has(execution.name) || warnOnlyTools.has(execution.name))
229
- return undefined;
230
- const state = guard.states.get(agent);
231
- if (state === undefined || state.loopDetectionDisabled)
232
- return undefined;
233
- const signature = guardToolSignature(execution.name, execution.arguments);
234
- if (state.localLoopDenials >= MAX_LOCAL_LOOP_DENIALS
235
- || !state.pendingBlockSignatures.delete(signature)
236
- || state.blockedLoopSignatures.has(signature))
259
+ return sw.duplicateDetection || sw.alternatingCycleDetection;
260
+ };
261
+ /** Candidate sources still permitted by the live switches. */
262
+ const allowedBlockSources = () => {
263
+ const sw = switches();
264
+ const sources = new Set();
265
+ if (sw.duplicateDetection)
266
+ sources.add('repeat');
267
+ if (sw.alternatingCycleDetection)
268
+ sources.add('cycle');
269
+ return sources;
270
+ };
271
+ const loopOptions = () => {
272
+ const sw = switches();
273
+ return {
274
+ ...createLoopOptions(ctx, excludedTools, pollingTools, warnOnlyTools, sw.duplicateDetection, sw.alternatingCycleDetection),
275
+ noProgressProtection: sw.noProgressProtection,
276
+ };
277
+ };
278
+ const toolGuard = ctx.tools.guard((execution) => {
279
+ try {
280
+ const agent = execution.agent;
281
+ const sw = switches();
282
+ // Candidates are gated per source instead of by `duplicateDetection`, which
283
+ // used to make every alternating-cycle candidate unblockable.
284
+ const allowed = allowedBlockSources();
285
+ // `noProgressProtection` is the gate for the LOCAL DENIAL itself, so it must
286
+ // be re-read here and not only where a candidate is recorded. A turn can
287
+ // record candidates while the switch is on and then have it turned off;
288
+ // without this check those already-recorded candidates would still fire and
289
+ // the switch would not mean what the settings page promises.
290
+ if (!sw.enabled || sw.noProgressProtection === false || allowed.size === 0 || agent === undefined
291
+ || isControlPlaneTool(ctx.capabilityPolicy, execution.name)
292
+ || excludedTools.has(execution.name) || pollingTools.has(execution.name) || warnOnlyTools.has(execution.name))
293
+ return undefined;
294
+ const state = guard.states.get(agent);
295
+ if (state === undefined || state.loopDetectionDisabled)
296
+ return undefined;
297
+ // A signature beyond the fingerprint budget is not a stable identity, so it
298
+ // can never justify a denial: fail open instead of comparing it.
299
+ const signature = guardToolSignature(execution.name, execution.arguments);
300
+ if (signature === undefined)
301
+ return undefined;
302
+ if (state.localLoopDenials >= MAX_LOCAL_LOOP_DENIALS
303
+ || !takeBlockCandidate(state, signature, allowed)
304
+ || state.blockedLoopSignatures.has(signature))
305
+ return undefined;
306
+ rememberBlockedSignature(state, signature);
307
+ rememberDeniedCall(state, String(execution.callId));
308
+ state.localLoopDenials += 1;
309
+ return '检测到相同工具调用及相同结果/错误证据;已局部拒绝本次重复调用,当前 Turn 继续运行。';
310
+ }
311
+ catch {
312
+ // Fail open: a Guard fault must never block a real tool call.
237
313
  return undefined;
238
- rememberBlockedSignature(state, signature);
239
- rememberDeniedCall(state, String(execution.callId));
240
- state.localLoopDenials += 1;
241
- return '检测到相同工具调用及相同结果/错误证据;已局部拒绝本次重复调用,当前 Turn 继续运行。';
314
+ }
242
315
  });
243
316
  disposers.push(toolGuard);
244
317
  disposers.push(ctx.on('agent/pre-step', async (payload, next) => {
@@ -254,64 +327,118 @@ export function apply(ctx, config = {}) {
254
327
  guard.resetLoopState(agent);
255
328
  }));
256
329
  disposers.push(ctx.on('tools/execute', async (execution, next) => {
257
- const agent = execution.agent;
258
- if (!switches().enabled || !switches().duplicateDetection || agent === undefined)
259
- return next();
260
- const state = guard.states.get(agent);
261
- if (state === undefined || state.loopDetectionDisabled)
330
+ try {
331
+ const agent = execution.agent;
332
+ // Both detectors share one history, so the dispatch record must be built while
333
+ // either switch is on; gating on `duplicateDetection` alone starved the cycle
334
+ // detector whenever exact-repeat detection was turned off.
335
+ if (!switches().enabled || !loopDetectionActive() || agent === undefined)
336
+ return next();
337
+ const state = guard.states.get(agent);
338
+ if (state === undefined || state.loopDetectionDisabled)
339
+ return next();
340
+ const callId = String(execution.callId);
341
+ if (state.dispatchRecords.has(callId)
342
+ || state.dispatchRecords.size + state.pendingLoopObservations.size >= MAX_PENDING_DISPATCHES) {
343
+ failOpenLoopDetection(state);
344
+ return next();
345
+ }
346
+ const dispatchSequence = state.nextDispatchSequence;
347
+ // A call that can never become a block candidate gets no result fingerprint:
348
+ // the decision is name-based, so it is made here and the result stage skips
349
+ // canonicalizing and hashing a payload it would only throw away.
350
+ const fingerprintNeeded = !isNonBlockableTool(ctx.capabilityPolicy, execution.name, excludedTools, pollingTools, warnOnlyTools);
351
+ // A signature beyond the fingerprint budget is not a stable identity, so the
352
+ // call is not observed at all. The sequence number is consumed only when a
353
+ // record is actually stored: a gap would stall the ordered drain below and
354
+ // silently disable detection for the rest of the turn.
355
+ const signature = guardToolSignature(execution.name, execution.arguments);
356
+ if (signature === undefined)
357
+ return next();
358
+ state.nextDispatchSequence += 1;
359
+ const epoch = state.loopEpoch;
360
+ state.dispatchRecords.set(callId, {
361
+ sequence: dispatchSequence, epoch, name: execution.name, signature, fingerprintNeeded,
362
+ });
363
+ guard.observeTool(agent, state.turn, { controlPlane: isControlPlaneTool(ctx.capabilityPolicy, execution.name) });
262
364
  return next();
263
- const callId = String(execution.callId);
264
- if (state.dispatchRecords.has(callId)
265
- || state.dispatchRecords.size + state.pendingLoopObservations.size >= MAX_PENDING_DISPATCHES) {
266
- failOpenLoopDetection(state);
365
+ }
366
+ catch {
367
+ // Fail open: loop detection is advisory, the tool call is not.
267
368
  return next();
268
369
  }
269
- const dispatchSequence = state.nextDispatchSequence++;
270
- const epoch = state.loopEpoch;
271
- const signature = guardToolSignature(execution.name, execution.arguments);
272
- state.dispatchRecords.set(callId, { sequence: dispatchSequence, epoch, name: execution.name, signature });
273
- guard.observeTool(agent, state.turn, { controlPlane: isControlPlaneTool(ctx.capabilityPolicy, execution.name) });
274
- return next();
275
370
  }));
276
371
  disposers.push(ctx.on('tools/result', (execution, result) => {
277
- const agent = execution.agent;
278
- const state = agent === undefined ? undefined : guard.states.get(agent);
279
- if (!switches().enabled || agent === undefined || state === undefined)
280
- return;
281
- const callId = String(execution.callId);
282
- if (state.deniedCallIds.delete(callId))
283
- return;
284
- const dispatch = state.dispatchRecords.get(callId);
285
- if (dispatch === undefined)
286
- return;
287
- state.dispatchRecords.delete(callId);
288
- if (dispatch.epoch !== state.loopEpoch || !switches().duplicateDetection || state.loopDetectionDisabled)
289
- return;
290
- const outcome = outcomeFor(result);
291
- const evidence = result.isError
292
- ? { code: result.error.info?.code ?? null, message: result.error.message, content: result.content }
293
- : { value: result.value, content: result.content };
294
- const pending = {
295
- name: dispatch.name,
296
- callId,
297
- dispatchSequence: dispatch.sequence,
298
- epoch: dispatch.epoch,
299
- signature: dispatch.signature,
300
- outcome,
301
- resultFingerprint: guardResultFingerprint(outcome, evidence),
302
- };
303
- if (state.pendingLoopObservations.size >= MAX_PENDING_DISPATCHES) {
304
- failOpenLoopDetection(state);
305
- return;
372
+ let activeState;
373
+ try {
374
+ const agent = execution.agent;
375
+ const state = agent === undefined ? undefined : guard.states.get(agent);
376
+ if (!switches().enabled || agent === undefined || state === undefined)
377
+ return;
378
+ activeState = state;
379
+ const callId = String(execution.callId);
380
+ if (state.deniedCallIds.delete(callId))
381
+ return;
382
+ const dispatch = state.dispatchRecords.get(callId);
383
+ if (dispatch === undefined)
384
+ return;
385
+ state.dispatchRecords.delete(callId);
386
+ if (dispatch.epoch !== state.loopEpoch || !loopDetectionActive() || state.loopDetectionDisabled)
387
+ return;
388
+ // No fingerprint for excluded / polling / warn-only / control-plane calls, and
389
+ // none when the payload exceeds the fingerprint budget. The result itself is
390
+ // returned to the caller untouched either way; a missing fingerprint only
391
+ // means "no progress cannot be proven", so it never becomes evidence.
392
+ let resultFingerprint;
393
+ let outcome = 'error';
394
+ if (dispatch.fingerprintNeeded) {
395
+ try {
396
+ outcome = outcomeFor(result);
397
+ resultFingerprint = guardResultFingerprint(outcome, result.isError
398
+ ? { code: result.error.info?.code ?? null, message: result.error.message, content: result.content }
399
+ : { value: result.value, content: result.content });
400
+ }
401
+ catch {
402
+ // A malformed host result yields no fingerprint, but the observation is
403
+ // still recorded below: dropping it would leave a hole in the ordered
404
+ // sequence and stall every later observation for the rest of the turn.
405
+ resultFingerprint = undefined;
406
+ }
407
+ }
408
+ else {
409
+ outcome = outcomeFor(result);
410
+ }
411
+ const pending = {
412
+ name: dispatch.name,
413
+ callId,
414
+ dispatchSequence: dispatch.sequence,
415
+ epoch: dispatch.epoch,
416
+ signature: dispatch.signature,
417
+ outcome,
418
+ ...(resultFingerprint !== undefined ? { resultFingerprint } : {}),
419
+ };
420
+ if (state.pendingLoopObservations.size >= MAX_PENDING_DISPATCHES) {
421
+ failOpenLoopDetection(state);
422
+ return;
423
+ }
424
+ state.pendingLoopObservations.set(dispatch.sequence, pending);
425
+ while (state.pendingLoopObservations.has(state.nextLoopSequence)) {
426
+ const observation = state.pendingLoopObservations.get(state.nextLoopSequence);
427
+ state.pendingLoopObservations.delete(state.nextLoopSequence);
428
+ state.nextLoopSequence += 1;
429
+ if (observation === null || observation === undefined || observation.epoch !== state.loopEpoch)
430
+ continue;
431
+ handleLoopObservation(state, agent, observation, loopOptions());
432
+ }
306
433
  }
307
- state.pendingLoopObservations.set(dispatch.sequence, pending);
308
- while (state.pendingLoopObservations.has(state.nextLoopSequence)) {
309
- const observation = state.pendingLoopObservations.get(state.nextLoopSequence);
310
- state.pendingLoopObservations.delete(state.nextLoopSequence);
311
- state.nextLoopSequence += 1;
312
- if (observation === null || observation === undefined || observation.epoch !== state.loopEpoch)
313
- continue;
314
- handleLoopObservation(state, agent, observation, loopOptions());
434
+ catch {
435
+ // Fail open: a Guard fault must never disturb the real tool result. The
436
+ // ordered drain advances its cursor before handling each observation, so a
437
+ // throw cannot leave a permanent gap; resetting detection for the rest of the
438
+ // turn is a conservative extra: after an unknown fault the Guard stops
439
+ // producing evidence instead of continuing from possibly stale history.
440
+ if (activeState !== undefined)
441
+ failOpenLoopDetection(activeState);
315
442
  }
316
443
  }));
317
444
  disposers.push(ctx.on('agent/disposed', ({ agent }) => guard.states.clear(agent)));
package/lib/guard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
package/lib/invoke.js CHANGED
@@ -47,18 +47,24 @@ export function apply(ctx, config = {}) {
47
47
  // The source override keeps On-demand targets reachable. The policy hides them
48
48
  // with an agent-scoped `tools.restrict({ deny })` (see `src/policy.ts`), which
49
49
  // removes them from `view(agent)` — and the default lookup,
50
- // `tools.executable(name, scope, toolSet)`, reads exactly that view. Without
51
- // the fallback every On-demand forward would fail as UNKNOWN_TOOL. The
52
- // fallback is limited to names THIS policy classifies as On-demand, so a
53
- // restriction placed by someone else still denies the call. Execution still
54
- // carries `agent`, `signal`, and `parent`, so scope, pre-execute policy,
55
- // guards, and event attribution are unchanged.
50
+ // `tools.executable(name, scope, toolSet)`, reads exactly that view. Without a
51
+ // fallback every On-demand forward would fail as UNKNOWN_TOOL.
52
+ //
53
+ // The fallback is therefore narrow on purpose: it applies only to a name the
54
+ // policy can PROVE is invisible *solely* because of its own On-demand mask
55
+ // (`capabilityPolicy.isHiddenOnlyByPolicy`). Classification alone is not
56
+ // evidence — it says how this plugin treats a name, not whether a third party
57
+ // also denies it — so a `tools.restrict({ deny })`, an `allow` filter, or any
58
+ // other restriction installed by someone else still denies the call, exactly
59
+ // like it denies a direct one. Execution still carries `agent`, `signal`, and
60
+ // `parent`, so scope, pre-execute policy, guards, and event attribution are
61
+ // unchanged.
56
62
  const resolveForwardDefinition = (name, scope, toolSet) => {
57
63
  const visible = ctx.tools.executable(name, scope, toolSet);
58
64
  if (visible !== undefined)
59
65
  return visible;
60
66
  const policy = ctx.get('capabilityPolicy');
61
- if (policy?.classifyTool(name) !== 'on-demand')
67
+ if (policy?.isHiddenOnlyByPolicy(scope, name) !== true)
62
68
  return undefined;
63
69
  // Registered definitions only: the step's admission set belongs to the
64
70
  // caller's view, which this policy just masked.
@@ -177,9 +183,9 @@ export function apply(ctx, config = {}) {
177
183
  // schema.
178
184
  if (capability.kind === 'tool') {
179
185
  // Resolve the target the same way the forward does: the caller's view
180
- // first, then — only for a name this policy classified On-demand — the
181
- // registered definition, because the policy itself masked that name out
182
- // of the caller's view. Every other restriction still reads as absent.
186
+ // first, then — only for a name the policy proved it alone masked — the
187
+ // registered definition. Any other restriction still reads as absent,
188
+ // so this never lifts a third party's decision.
183
189
  const definition = resolveForwardDefinition(capability.name, exec.agent, exec.toolSet);
184
190
  if (definition === undefined) {
185
191
  throw new Error(`meta_invoke: tool "${capability.name}" is not available`);
package/lib/invoke.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAA0B,MAAM,wBAAwB,CAAA;AAErG,MAAM,CAAC,MAAM,IAAI,GAAG,wBAAwB,CAAA;AAC5C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AAWvD,mDAAmD;AACnD,MAAM,CAAC,MAAM,MAAM,GAAc,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC9D,CAAC,CAAA;AAgCF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,SAAiB,EAAE;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAA;IAClD,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjG,CAAC;IAED,4EAA4E;IAC5E,iEAAiE;IACjE,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,yCAAyC;IACzC,MAAM,YAAY,GAAG,IAAI,OAAO,EAAuB,CAAA;IAEvD,iFAAiF;IACjF,+EAA+E;IAC/E,sEAAsE;IACtE,EAAE;IACF,+EAA+E;IAC/E,+EAA+E;IAC/E,4DAA4D;IAC5D,6EAA6E;IAC7E,uEAAuE;IACvE,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,+CAA+C;IAC/C,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAE,KAAc,EAAE,OAAgB,EAAE,EAAE;QAClF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAc,EAAE,OAAgB,CAAC,CAAA;QAC5E,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAA;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAC1C,IAAI,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,WAAW;YAAE,OAAO,SAAS,CAAA;QAChE,uEAAuE;QACvE,gDAAgD;QAChD,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,GAAG,EAAE;QAC9C,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;KAC9E,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,UAAU,CAAC;QACtB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kRAAkR;QAC/R,UAAU,EAAE;YACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sFAAsF,EAAE;YAC3I,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sDAAsD,EAAE;YACtI,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,IAAI;gBAC1B,WAAW,EACT,iKAAiK;oBACjK,sHAAsH;oBACtH,2BAA2B;aAC9B;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iFAAiF,EAAE;SAC3H;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;4BACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;4BACtD,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;4BACtC,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,IAAI;gCACd,oBAAoB,EAAE,KAAK;gCAC3B,UAAU,EAAE;oCACV,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oCAC3D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oCAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;iCACpE;6BACF;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;4BACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;4BACxD,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;4BACtC,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,IAAI;gCACd,oBAAoB,EAAE,KAAK;gCAC3B,UAAU,EAAE;oCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oCACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oCAC5C,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;oCAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;iCAC5C;6BACF;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE,KAAK;wBAC3B,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;4BACpD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;4BAC1D,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;4BACtC,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,IAAI;gCACd,oBAAoB,EAAE,KAAK;gCAC3B,UAAU,EAAE;oCACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oCAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oCACxC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oCACxC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oCAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;iCAC7C;6BACF;yBACF;qBACF;iBACF;aACF;YACD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,KAAyB,CAAA;gBACxC,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAA0C,CAAC,EAAE,CAAC,CAAA;gBACxG,CAAC;gBACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACxD,CAAC;SACF;QACD,KAAK,CAAC,OAAO,CAAC,IAA6E,EAAE,IAAoB;YAC/G,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACtB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAA;YAC5G,CAAC;YACD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAC/C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;YAC5E,CAAC;YACD,sEAAsE;YACtE,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YAC1C,IAAI,MAAM,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,gBAAgB,EAAE,qCAAqC,CAAC,CAAA;YAC9F,CAAC;YAED,0EAA0E;YAC1E,4EAA4E;YAC5E,UAAU;YACV,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,sEAAsE;gBACtE,uEAAuE;gBACvE,wEAAwE;gBACxE,uEAAuE;gBACvE,MAAM,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,CAAC,IAAI,oBAAoB,CAAC,CAAA;gBAC5E,CAAC;gBACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO;wBACL,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,SAAkB;wBACxB,EAAE;wBACF,MAAM,EAAE;4BACN,MAAM,EAAE,UAAU,CAAC,IAAI;4BACvB,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,WAAW,EAAE,UAAU,CAAC,WAAW;4BACnC,UAAU,EAAE,UAAU,CAAC,UAAkC;yBAC1D;qBACF,CAAA;gBACH,CAAC;gBACD,yEAAyE;gBACzE,wEAAwE;gBACxE,yEAAyE;gBACzE,oCAAoC;gBACpC,wEAAwE;gBACxE,0EAA0E;gBAC1E,uDAAuD;gBACvD,sEAAsE;gBACtE,yEAAyE;gBACzE,yEAAyE;gBACzE,wEAAwE;gBACxE,sEAAsE;gBACtE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1C,0EAA0E;gBAC1E,qEAAqE;gBACrE,wEAAwE;gBACxE,uEAAuE;gBACvE,oEAAoE;gBACpE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;gBACtF,IAAI,QAAQ,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACrD,EAAE;gBACF,yDAAyD;gBACzD,sEAAsE;gBACtE,6DAA6D;gBAC7D,sEAAsE;gBACtE,+DAA+D;gBAC/D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;oBACtC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,EAAE,EAAE,CAAC;oBAC/C,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,KAAK;oBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;iBAC/D,CAAC,CAAA;gBACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAChG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC9D,6DAA6D;gBAC7D,6DAA6D;gBAC7D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,kBAAkB,IAAI,EAAE;oBAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBACjF,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;oBAAE,IAAI,CAAC,YAAY,EAAE,CAAA;gBACtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACtH,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB,UAAU,CAAC,IAAI,SAAS,CAAC,CAAA;gBACtE,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,KAAc;oBACpB,EAAE;oBACF,MAAM,EAAE;wBACN,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,UAAU,CAAC,IAAI;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAiC;qBAClD;iBACF,CAAA;YACH,CAAC;YAED,qCAAqC;YACrC,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;gBAE5B,uEAAuE;gBACvE,yDAAyD;gBACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,IAAI,aAAsC,CAAA;gBAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBACvC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBAChC,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;wBACjC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;oBACxC,CAAC;gBACH,CAAC;gBAED,0EAA0E;gBAC1E,IAAI,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC7D,OAAO;wBACL,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,OAAgB;wBACtB,EAAE;wBACF,MAAM,EAAE;4BACN,IAAI;4BACJ,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ;4BACpC,OAAO,EAAE,UAAU,IAAI,yFAAyF;yBACjH;qBACF,CAAA;gBACH,CAAC;gBAED,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;oBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAA;gBACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;gBACvE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,qCAAqC,CAAC,CAAA;gBACnF,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,yCAAyC,CAAC,CAAA;gBACvF,CAAC;gBACD,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;gBACxB,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,OAAgB;oBACtB,EAAE;oBACF,MAAM,EAAE;wBACN,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;wBACtF,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB;iBACF,CAAA;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,4BAA4B,CAAC,CAAA;QAChF,CAAC;QACD,WAAW,CAAC,IAAI;YACd,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,sBAAsB,IAAI,CAAC,EAAE,EAAE;gBACtC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBAC9C,QAAQ,EAAE,IAAI,CAAC,EAAE;aAClB,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IAEF,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAA;IAEhD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IAC3F,CAAC;IAED,OAAO,GAA8B,CAAA;AACvC,CAAC;AAED,+EAA+E;AAC/E,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAU,CAAA;AAErD;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CACzB,SAAkC,EAClC,UAAkB,EAClB,UAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IACrE,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IACpF,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/F,MAAM,QAAQ,GAAI,UAAmE,EAAE,UAAU,CAAA;IACjG,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IAClH,OAAO,CACL,0EAA0E,UAAU,MAAM;QAC1F,4FAA4F,CAC7F,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"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"}