opencode-swarm 7.164.2 → 7.164.4

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 (78) hide show
  1. package/dist/cli/{coder-settlement-kv1x94w6.js → coder-settlement-zzy2egsx.js} +11 -11
  2. package/dist/cli/{config-doctor-8d7ydxck.js → config-doctor-62xd5far.js} +2 -2
  3. package/dist/cli/{core-7jjgxczp.js → core-7kdmc7h9.js} +1 -1
  4. package/dist/cli/{curation-policy-7pnmnfct.js → curation-policy-913dnxqq.js} +6 -6
  5. package/dist/cli/{curator-5nyth2rj.js → curator-4s6ekk85.js} +34 -34
  6. package/dist/cli/{curator-drift-ykrdf08r.js → curator-drift-3s3q4wsy.js} +4 -4
  7. package/dist/cli/curator-llm-factory-q3t3r632.js +66 -0
  8. package/dist/cli/{evidence-summary-service-aebn7nb9.js → evidence-summary-service-gw936xgz.js} +15 -15
  9. package/dist/cli/{gate-evidence-es59pysy.js → gate-evidence-4we18rhr.js} +7 -7
  10. package/dist/cli/guardrail-explain-jjbnrcqn.js +67 -0
  11. package/dist/cli/{guardrail-log-fd3c5rks.js → guardrail-log-9d4f09qt.js} +7 -7
  12. package/dist/cli/{guardrail-reset-r49rvptv.js → guardrail-reset-1hpd6bkj.js} +34 -34
  13. package/dist/cli/{hive-promoter-qp2kjhhp.js → hive-promoter-nr8dsxhe.js} +34 -34
  14. package/dist/cli/{index-92q98ry8.js → index-08e6x59x.js} +7 -7
  15. package/dist/cli/{index-h9wnkr2e.js → index-0m94jsss.js} +5 -5
  16. package/dist/cli/{index-hcn69kp0.js → index-0zbze3n6.js} +1 -1
  17. package/dist/cli/{index-y2f5s2cf.js → index-1f4nandk.js} +1 -1
  18. package/dist/cli/{index-kwd09y5a.js → index-4tgtbptw.js} +4 -4
  19. package/dist/cli/{index-zs1jrsta.js → index-5k226hxp.js} +2 -2
  20. package/dist/cli/{index-gz5rn6w6.js → index-7zbk1e24.js} +9 -9
  21. package/dist/cli/{index-zgeqwbhw.js → index-8fjx6k2s.js} +1 -1
  22. package/dist/cli/{index-1r6p1wpa.js → index-a0jhxx5q.js} +3 -3
  23. package/dist/cli/{index-hnwg5gt6.js → index-cf54ftj1.js} +4 -4
  24. package/dist/cli/{index-br7q79t2.js → index-eh2k07pp.js} +7 -7
  25. package/dist/cli/{index-jw9wbwdh.js → index-et9y4ga8.js} +36 -36
  26. package/dist/cli/{index-yep24wn4.js → index-gt6p21cs.js} +1 -1
  27. package/dist/cli/{index-w5jpjaqe.js → index-jba9jgse.js} +2 -2
  28. package/dist/cli/{index-bzd67m2j.js → index-k1m9214q.js} +1 -1
  29. package/dist/cli/{index-34exj2e3.js → index-k8vy89vm.js} +1 -1
  30. package/dist/cli/{index-pcnhh2vt.js → index-ne38vr77.js} +2 -2
  31. package/dist/cli/{index-cm4r8gh2.js → index-nwpg81ke.js} +1 -1
  32. package/dist/cli/{index-sb4eanpv.js → index-prammvxb.js} +1 -1
  33. package/dist/cli/{index-qmeewt3g.js → index-pztdbtgw.js} +3 -3
  34. package/dist/cli/{index-axtnc0xf.js → index-q9yz8da4.js} +5 -5
  35. package/dist/cli/{index-5d7bzpfn.js → index-qfrrcdhj.js} +1 -1
  36. package/dist/cli/{index-yjftcanv.js → index-qkwx4rrc.js} +71 -71
  37. package/dist/cli/{index-v56mhyhs.js → index-rz87mx1c.js} +1 -1
  38. package/dist/cli/{index-ac39znep.js → index-stj85yx1.js} +2 -2
  39. package/dist/cli/{index-q3xn3m3g.js → index-t2tqbq62.js} +4 -4
  40. package/dist/cli/{index-f9nfknjg.js → index-tfa2p4y4.js} +3 -3
  41. package/dist/cli/{index-c8k4cs94.js → index-tme2kjvq.js} +5 -5
  42. package/dist/cli/{index-fyt5byhd.js → index-v7a8e7rv.js} +2 -2
  43. package/dist/cli/{index-xm6c1tnf.js → index-vx28633q.js} +1 -1
  44. package/dist/cli/{index-6vtm4rd0.js → index-vzs3st30.js} +21 -21
  45. package/dist/cli/{index-3704v4e6.js → index-wzmchqry.js} +1 -1
  46. package/dist/cli/{index-b85jnfp4.js → index-x63jqvj3.js} +2 -2
  47. package/dist/cli/{index-2xj34nkh.js → index-x9ayhkkx.js} +1 -1
  48. package/dist/cli/{index-qbr05tbw.js → index-xj4kbtdw.js} +2 -2
  49. package/dist/cli/{index-yqhwrjw9.js → index-xjw7j7et.js} +5 -5
  50. package/dist/cli/{index-w8qt2612.js → index-yx3xqb0w.js} +13 -13
  51. package/dist/cli/{index-0145kpjr.js → index-z408nj03.js} +2 -2
  52. package/dist/cli/index.js +34 -34
  53. package/dist/cli/{knowledge-escalator-439jajb3.js → knowledge-escalator-hp1ctjpe.js} +13 -13
  54. package/dist/cli/{knowledge-events-wz3h98kk.js → knowledge-events-0qrenmng.js} +11 -11
  55. package/dist/cli/{knowledge-link-2gh1cnk3.js → knowledge-link-f5g5d171.js} +5 -5
  56. package/dist/cli/{knowledge-store-y1cwe80n.js → knowledge-store-8er824g9.js} +6 -6
  57. package/dist/cli/{knowledge-validator-bk2qfqe2.js → knowledge-validator-0jd3htcj.js} +8 -8
  58. package/dist/cli/{pending-delegations-kh4mkvzb.js → pending-delegations-d1n5faxg.js} +6 -6
  59. package/dist/cli/{pr-subscriptions-sdv0n59c.js → pr-subscriptions-s2b2yvbd.js} +6 -6
  60. package/dist/cli/{pr-workflow-gate-a9vj11e5.js → pr-workflow-gate-51s842yy.js} +34 -34
  61. package/dist/cli/{runner-m95v9d47.js → runner-nkh65pcm.js} +6 -6
  62. package/dist/cli/{scan-cursor-pjek24k7.js → scan-cursor-gt55f3d6.js} +7 -7
  63. package/dist/cli/{schema-674qw3aj.js → schema-rpdz901j.js} +1 -1
  64. package/dist/cli/{scope-persistence-sq331eqh.js → scope-persistence-js1ywq04.js} +9 -9
  65. package/dist/cli/{skill-generator-pcw7c50r.js → skill-generator-xsxes2w0.js} +15 -15
  66. package/dist/cli/{telemetry-c4j18da8.js → telemetry-9tfts5q2.js} +1 -1
  67. package/dist/cli/{worktree-collision-ownership-vnj31rgc.js → worktree-collision-ownership-54ca6mb8.js} +7 -7
  68. package/dist/cli/{worktree-isolation-tje6p4zt.js → worktree-isolation-haesnft8.js} +34 -34
  69. package/dist/config/plan-schema.d.ts +1 -1
  70. package/dist/council/council-review-identity.d.ts +1 -1
  71. package/dist/index.js +15 -15
  72. package/dist/plan/ledger.d.ts +56 -29
  73. package/dist/services/skill-optimizer/store.d.ts +1 -1
  74. package/dist/services/tool-doctor.d.ts +3 -2
  75. package/dist/tools/tool-metadata.d.ts +5 -4
  76. package/package.json +1 -1
  77. package/dist/cli/curator-llm-factory-d415s169.js +0 -66
  78. package/dist/cli/guardrail-explain-mn2x7w2y.js +0 -67
@@ -111,44 +111,68 @@ declare function getPlanJsonPath(directory: string): string;
111
111
  declare function writeFileFsyncedThenRename(tempPath: string, targetPath: string, data: string | Uint8Array): void;
112
112
  declare function fsyncRecoveryDirectory(directory: string): void;
113
113
  /**
114
- * Compute a SHA-256 hash of the plan state.
114
+ * Compute a SHA-256 digest of the FULL plan state for the ledger hash chain.
115
115
  * Uses deterministic JSON serialization for consistent hashing.
116
116
  *
117
+ * This is the LEDGER digest, not an approval-baseline hash. It deliberately
118
+ * INCLUDES `phase.status` and `task.status` because `plan_hash_after` pins the
119
+ * exact persisted ledger state, execution progress included. Its output is
120
+ * persisted on-disk (`plan_hash_after`, plan-epoch identity, snapshot
121
+ * integrity, staleness detection), so its byte output must NEVER change.
122
+ * For drift-baseline comparisons use {@link computePlanStructureHash}.
123
+ *
117
124
  * IMPORTANT: Intentionally excludes `specMtime` and `specHash` fields.
118
125
  * These fields track changes to spec.md but do not affect plan execution or structure.
119
126
  * Including them would cause the plan hash to change whenever spec metadata changes,
120
127
  * invalidating cached plan state unnecessarily. Spec changes are tracked separately
121
128
  * in the ledger via `spec_updated` and acknowledgment events.
122
129
  *
130
+ * Renamed in issue #2523 (retiring the old generic name) so that exactly one
131
+ * name (`computePlanStructureHash`) identifies the plan-structure hash. The
132
+ * rename is byte-identical — the normalization below is unchanged.
133
+ *
123
134
  * @param plan - The plan to hash
124
135
  * @returns Hex-encoded SHA-256 hash
125
136
  */
126
- export declare function computePlanHash(plan: Plan): string;
127
- /**
128
- * Compute a SHA-256 hash of the plan's STRUCTURE, excluding transient
129
- * execution progress fields (`phase.status` and `task.status`).
130
- *
131
- * This mirrors {@link computePlanHash}'s normalization byte-for-byte EXCEPT it
132
- * omits the two status fields from the hashed payload. It exists solely for the
133
- * plan-critic execution gate (`assertPlanCriticApprovedForExecution`), which
134
- * must recognize a plan as "the same plan the critic approved" even after the
135
- * architect flips a task to `in_progress` before delegating its coder. Including
136
- * status (as `computePlanHash` does) would make the gate fire on the very first
137
- * conforming coder dispatch, because `update_task_status(taskId,'in_progress')`
138
- * runs before it and mutates the status-inclusive hash.
139
- *
140
- * IMPORTANT: This is intentionally a SEPARATE function, not a refactor of
141
- * `computePlanHash`. `computePlanHash` is load-bearing for ledger replay and
142
- * staleness/integrity detection (its output is persisted on-disk as
143
- * `plan_hash_after`), so its byte output must never change. Do NOT collapse
144
- * these two into a shared normalizer.
137
+ export declare function computePlanLedgerHash(plan: Plan): string;
138
+ /**
139
+ * Compute a SHA-256 hash of the plan's STRUCTURE THE single approval-baseline
140
+ * hash (issue #2523). Excludes the transient execution-progress fields
141
+ * (`phase.status` and `task.status`).
142
+ *
143
+ * DECISION (documented per issue #2523): task/phase status does NOT belong in
144
+ * the baseline hash. The baseline exists to detect *plan edits* content,
145
+ * scope, dependencies, files not execution progress. Every writer and reader
146
+ * of an approval-baseline `payload_hash` uses this function:
147
+ * - `takeSnapshotEvent` stores it as the `payload_hash` of every
148
+ * `source === 'critic_approved'` snapshot (the gate recorders in
149
+ * `src/hooks/delegation-gate.ts` and the drift-verifier approval in
150
+ * `src/tools/write-drift-evidence.ts`).
151
+ * - `get_approved_plan` compares it against that stored hash to compute
152
+ * `drift_detected`.
153
+ * - The scope/participation bindings persist it as `planStructureHash` and
154
+ * re-derive it with the same function at verification time.
155
+ * A status-only change (e.g. `update_task_status` flipping a task to
156
+ * `in_progress`/`completed`) must therefore NEVER trip a baseline comparison;
157
+ * any structural change (description, acceptance, dependencies, files, added
158
+ * or removed tasks/phases) always must.
159
+ *
160
+ * This mirrors {@link computePlanLedgerHash}'s normalization byte-for-byte
161
+ * EXCEPT it omits the two status fields from the hashed payload. The two
162
+ * functions are deliberately distinct: {@link computePlanLedgerHash} is
163
+ * load-bearing for ledger replay and staleness/integrity detection (its
164
+ * output is persisted on-disk as `plan_hash_after`), so its byte output must
165
+ * never change. Do NOT collapse these two into a shared normalizer.
145
166
  *
146
167
  * @param plan - The plan to hash
147
168
  * @returns Hex-encoded SHA-256 hash of the status-excluded structure
148
169
  */
149
170
  export declare function computePlanStructureHash(plan: Plan): string;
150
171
  /**
151
- * Read the current plan.json and compute its hash.
172
+ * Read the current plan.json and compute its LEDGER digest (the
173
+ * status-inclusive {@link computePlanLedgerHash}, not the approval-baseline
174
+ * structure hash). Used for hash-chain bookkeeping (`plan_hash_before`,
175
+ * concurrency-token refresh), never for drift baselines.
152
176
  *
153
177
  * @param directory - The working directory
154
178
  * @returns Hash of current plan.json, or empty string if not found
@@ -286,13 +310,16 @@ export declare function takeSnapshotWithRetry(directory: string, plan: Plan, opt
286
310
  * snapshot payload (e.g. phase number, verdict, summary) so that
287
311
  * downstream readers can filter without decoding prompts.
288
312
  * - payloadHashOverride: when supplied, stored as the snapshot payload's
289
- * `payload_hash` INSTEAD of the default `computePlanHash(plan)`. Used by the
290
- * plan-critic gate to persist a status-excluded structural hash
291
- * (`computePlanStructureHash`) so the gate can match the plan across the
292
- * architect's pre-delegation `in_progress` status flip. Note this only
293
- * changes the embedded snapshot `payload_hash`; the ledger event's
294
- * hash-chain field `plan_hash_after` is unaffected (still governed by
295
- * `planHashAfter` / on-disk plan.json), preserving replay integrity.
313
+ * `payload_hash` INSTEAD of the source-derived default. The default for a
314
+ * `source === 'critic_approved'` snapshot is the status-excluded structure
315
+ * hash (`computePlanStructureHash`) an approval baseline is, by
316
+ * definition (issue #2523), the plan's structure, so this is enforced here
317
+ * at the single write choke point and every approval-snapshot writer gets
318
+ * it without having to remember an override. Every other source defaults
319
+ * to the status-inclusive ledger digest (`computePlanLedgerHash`).
320
+ * Note this only changes the embedded snapshot `payload_hash`; the ledger
321
+ * event's hash-chain field `plan_hash_after` is unaffected (still governed
322
+ * by `planHashAfter` / on-disk plan.json), preserving replay integrity.
296
323
  * @returns The LedgerEvent that was written
297
324
  */
298
325
  export declare function takeSnapshotEvent(directory: string, plan: Plan, options?: {
@@ -524,7 +551,7 @@ export declare function loadLastApprovedPlan(directory: string, expectedPlanId?:
524
551
  */
525
552
  export declare function loadLastPlanCriticApprovedSnapshot(directory: string, expectedPlanId?: string): Promise<ApprovedSnapshotInfo | null>;
526
553
  export declare const _internals: {
527
- computePlanHash: typeof computePlanHash;
554
+ computePlanLedgerHash: typeof computePlanLedgerHash;
528
555
  computePlanStructureHash: typeof computePlanStructureHash;
529
556
  computeCurrentPlanHash: typeof computeCurrentPlanHash;
530
557
  ledgerExists: typeof ledgerExists;
@@ -101,7 +101,7 @@ export declare function replayCandidate(directory: string, skillSlug: string, ca
101
101
  * Quarantine a corrupt ledger suffix. Writes the bad suffix to a unique side
102
102
  * file under `.swarm/evolution/skills/`. NEVER rewrites or truncates the
103
103
  * canonical `lifecycle.jsonl`. Mirrors `quarantineLedgerSuffix` in
104
- * `src/plan/ledger.ts:1188`.
104
+ * `src/plan/ledger.ts:1849`.
105
105
  */
106
106
  export declare function quarantineSuffix(directory: string, skillSlug: string, badSuffix: string): string;
107
107
  /**
@@ -5,12 +5,13 @@
5
5
  *
6
6
  * As of #507, registration is DERIVED from the single registration-data source
7
7
  * (tool-metadata) and the handler set is compile-time-guaranteed to match it
8
- * (`manifest.ts satisfies Record<ToolName, () => ToolDefinition>`), so the set of
8
+ * (`manifest.ts` registers handlers via a `defineHandlers<T extends
9
+ * Record<ToolName, () => ToolDefinition>>` generic constraint), so the set of
9
10
  * registered tools is exactly TOOL_NAME_SET. This service therefore validates
10
11
  * against TOOL_NAME_SET (handler-free) rather than importing the handler-bearing
11
12
  * manifest — that keeps tool-doctor (and the `../services` barrel that re-exports
12
13
  * it) out of the tool-module import graph, avoiding init cycles (#507 CI finding).
13
- * The handler-level coherence is enforced by the compile-time `satisfies` plus the
14
+ * The handler-level coherence is enforced by that compile-time constraint plus the
14
15
  * standalone CI script `scripts/check-tool-registration.ts`.
15
16
  *
16
17
  * Also validates:
@@ -9,10 +9,11 @@
9
9
  * modules and form an init cycle (#507 CI finding). Keeping metadata handler-free
10
10
  * makes the module graph acyclic.
11
11
  *
12
- * Cross-checked with ./manifest.ts: that file does
13
- * `satisfies Record<ToolName, () => ToolDefinition>` with `ToolName = keyof typeof
14
- * TOOL_METADATA`, so adding a tool here without wiring a handler there (or vice
15
- * versa) is a COMPILE error - the dead-tools bug class stays impossible.
12
+ * Cross-checked with ./manifest.ts: that file registers handlers via
13
+ * `defineHandlers<T extends Record<ToolName, () => ToolDefinition>>` with
14
+ * `ToolName = keyof typeof TOOL_METADATA`, so adding a tool here without wiring a
15
+ * handler there (or vice versa) is a COMPILE error - the dead-tools bug class
16
+ * stays impossible.
16
17
  */
17
18
  import { type AgentName } from '../config/agent-names';
18
19
  /** A tool's registration metadata. All fields required so a missing one is a compile error. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.164.2",
3
+ "version": "7.164.4",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,66 +0,0 @@
1
- // @bun
2
- import {
3
- createCuratorLLMDelegate
4
- } from "./index-yjftcanv.js";
5
- import"./index-2xj34nkh.js";
6
- import"./index-qmeewt3g.js";
7
- import"./index-34exj2e3.js";
8
- import"./index-6vtm4rd0.js";
9
- import"./index-w5jpjaqe.js";
10
- import"./index-txdagbh7.js";
11
- import"./index-3146wmgv.js";
12
- import"./index-kwd09y5a.js";
13
- import"./index-yqhwrjw9.js";
14
- import"./index-b85jnfp4.js";
15
- import"./index-70ha9e09.js";
16
- import"./index-y2f5s2cf.js";
17
- import"./index-hcn69kp0.js";
18
- import"./index-zaab1wz9.js";
19
- import"./index-c8k4cs94.js";
20
- import"./index-zsrtt42s.js";
21
- import"./index-92q98ry8.js";
22
- import"./index-3f7hqtgg.js";
23
- import"./index-qbr05tbw.js";
24
- import"./index-q3xn3m3g.js";
25
- import"./index-sb4eanpv.js";
26
- import"./index-rtry5xyf.js";
27
- import"./index-h9wnkr2e.js";
28
- import"./index-zgeqwbhw.js";
29
- import"./index-hnwg5gt6.js";
30
- import"./index-ddszzne4.js";
31
- import"./index-axtnc0xf.js";
32
- import"./index-w8qt2612.js";
33
- import"./index-0145kpjr.js";
34
- import"./index-556ja8an.js";
35
- import"./index-4fwbbad3.js";
36
- import"./index-b43rt5ph.js";
37
- import"./index-q7sjgr1y.js";
38
- import"./index-br7q79t2.js";
39
- import"./index-gz5rn6w6.js";
40
- import"./index-fyt5byhd.js";
41
- import"./index-zg9d392c.js";
42
- import"./index-n832052r.js";
43
- import"./index-v56mhyhs.js";
44
- import"./index-z6xqpmqg.js";
45
- import"./index-r3mvsbtq.js";
46
- import"./index-xm6c1tnf.js";
47
- import"./index-3704v4e6.js";
48
- import"./index-9e6fdz2h.js";
49
- import"./index-4rhhvd1a.js";
50
- import"./index-ac39znep.js";
51
- import"./index-m1nrd3yd.js";
52
- import"./index-zjygnfay.js";
53
- import"./index-ae75rja9.js";
54
- import"./index-5d7bzpfn.js";
55
- import"./index-zs1jrsta.js";
56
- import"./index-bk5tah7q.js";
57
- import"./index-yep24wn4.js";
58
- import"./index-f9nfknjg.js";
59
- import"./index-bzd67m2j.js";
60
- import"./index-7g4c7s5r.js";
61
- import"./index-bpmtbmy9.js";
62
- import"./index-zgwm4ryv.js";
63
- import"./index-a76rekgs.js";
64
- export {
65
- createCuratorLLMDelegate
66
- };
@@ -1,67 +0,0 @@
1
- // @bun
2
- import {
3
- handleGuardrailExplain
4
- } from "./index-pcnhh2vt.js";
5
- import"./index-yjftcanv.js";
6
- import"./index-2xj34nkh.js";
7
- import"./index-qmeewt3g.js";
8
- import"./index-34exj2e3.js";
9
- import"./index-6vtm4rd0.js";
10
- import"./index-w5jpjaqe.js";
11
- import"./index-txdagbh7.js";
12
- import"./index-3146wmgv.js";
13
- import"./index-kwd09y5a.js";
14
- import"./index-yqhwrjw9.js";
15
- import"./index-b85jnfp4.js";
16
- import"./index-70ha9e09.js";
17
- import"./index-y2f5s2cf.js";
18
- import"./index-hcn69kp0.js";
19
- import"./index-zaab1wz9.js";
20
- import"./index-c8k4cs94.js";
21
- import"./index-zsrtt42s.js";
22
- import"./index-92q98ry8.js";
23
- import"./index-3f7hqtgg.js";
24
- import"./index-qbr05tbw.js";
25
- import"./index-q3xn3m3g.js";
26
- import"./index-sb4eanpv.js";
27
- import"./index-rtry5xyf.js";
28
- import"./index-h9wnkr2e.js";
29
- import"./index-zgeqwbhw.js";
30
- import"./index-hnwg5gt6.js";
31
- import"./index-ddszzne4.js";
32
- import"./index-axtnc0xf.js";
33
- import"./index-w8qt2612.js";
34
- import"./index-0145kpjr.js";
35
- import"./index-556ja8an.js";
36
- import"./index-4fwbbad3.js";
37
- import"./index-b43rt5ph.js";
38
- import"./index-q7sjgr1y.js";
39
- import"./index-br7q79t2.js";
40
- import"./index-gz5rn6w6.js";
41
- import"./index-fyt5byhd.js";
42
- import"./index-zg9d392c.js";
43
- import"./index-n832052r.js";
44
- import"./index-v56mhyhs.js";
45
- import"./index-z6xqpmqg.js";
46
- import"./index-r3mvsbtq.js";
47
- import"./index-xm6c1tnf.js";
48
- import"./index-3704v4e6.js";
49
- import"./index-9e6fdz2h.js";
50
- import"./index-4rhhvd1a.js";
51
- import"./index-ac39znep.js";
52
- import"./index-m1nrd3yd.js";
53
- import"./index-zjygnfay.js";
54
- import"./index-ae75rja9.js";
55
- import"./index-5d7bzpfn.js";
56
- import"./index-zs1jrsta.js";
57
- import"./index-bk5tah7q.js";
58
- import"./index-yep24wn4.js";
59
- import"./index-f9nfknjg.js";
60
- import"./index-bzd67m2j.js";
61
- import"./index-7g4c7s5r.js";
62
- import"./index-bpmtbmy9.js";
63
- import"./index-zgwm4ryv.js";
64
- import"./index-a76rekgs.js";
65
- export {
66
- handleGuardrailExplain
67
- };