opencode-swarm 7.113.1 → 7.113.3
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/.opencode/skills/engineering-conventions/SKILL.md +5 -0
- package/.opencode/skills/gate-attribution/SKILL.md +2 -0
- package/binaries/win32-arm64/.gitkeep +0 -0
- package/binaries/win32-x64/.gitkeep +0 -0
- package/dist/background/event-bus.d.ts +1 -1
- package/dist/background/pending-delegations.d.ts +8 -0
- package/dist/background/queue.d.ts +11 -0
- package/dist/background/trigger.d.ts +1 -0
- package/dist/background/workspace-snapshot.d.ts +7 -0
- package/dist/cli/{capability-probe-sh9bwh39.js → capability-probe-f1paszww.js} +1 -1
- package/dist/cli/{config-doctor-az11cwf5.js → config-doctor-xbdfrbwt.js} +2 -2
- package/dist/cli/{core-f4cbabe7.js → core-zg8s1jwx.js} +2 -2
- package/dist/cli/{curator-nm2c9y1p.js → curator-ckzb8ww4.js} +23 -22
- package/dist/cli/{curator-drift-jvs1v6em.js → curator-drift-c0by7063.js} +2 -2
- package/dist/cli/curator-llm-factory-mhjcpy1s.js +41 -0
- package/dist/cli/{dispatch-wst7bypk.js → dispatch-mczsxy5s.js} +2 -2
- package/dist/cli/{evidence-summary-service-j6fnsfeq.js → evidence-summary-service-8g594znj.js} +7 -7
- package/dist/cli/{gate-evidence-mk0ss1re.js → gate-evidence-vkpqt300.js} +5 -5
- package/dist/cli/guardrail-explain-kabd97j8.js +42 -0
- package/dist/cli/{guardrail-log-hysxdwg9.js → guardrail-log-qfc2j0tb.js} +4 -4
- package/dist/cli/hive-promoter-h21wzpsr.js +49 -0
- package/dist/cli/{index-0dab9w37.js → index-0p660a87.js} +2 -2
- package/dist/cli/{index-32bx4kch.js → index-0q7rrh59.js} +4 -4
- package/dist/cli/{index-1ey3dxq7.js → index-147ja18h.js} +0 -4
- package/dist/cli/{index-0gf6de8b.js → index-2148358e.js} +45 -1
- package/dist/cli/{index-30ejh1tx.js → index-43khae15.js} +3 -3
- package/dist/cli/{index-pm992z24.js → index-4h2ea8h5.js} +12 -9
- package/dist/cli/{index-5mkc2f9z.js → index-4sckv7y6.js} +1 -1
- package/dist/cli/{index-q1jaeynn.js → index-80jkseqw.js} +2 -2
- package/dist/cli/{index-wvrj16f0.js → index-8fwhhayc.js} +4 -0
- package/dist/cli/{index-npd9rypp.js → index-dh87tpc5.js} +176 -63
- package/dist/cli/{workspace-snapshot-w58jr2ga.js → index-dqh3zhhc.js} +53 -10
- package/dist/cli/{index-d0w40jm3.js → index-f6y341yk.js} +14 -11
- package/dist/cli/{index-db1fh1fv.js → index-g40r5d08.js} +1 -1
- package/dist/cli/{index-8f256d7t.js → index-g6va6n3t.js} +1 -1
- package/dist/cli/{index-9fxs0rm1.js → index-ga4ta3cr.js} +1 -1
- package/dist/cli/{index-t6wfwdm1.js → index-h7q1bvzm.js} +3 -3
- package/dist/cli/{index-rqpm9cwe.js → index-hw4tcxs9.js} +25 -24
- package/dist/cli/{index-h389ed8y.js → index-mr4whary.js} +3 -3
- package/dist/cli/{index-g55nzpwn.js → index-n6fa2hhk.js} +1 -1
- package/dist/cli/{index-vn263hqt.js → index-pa6t33pt.js} +17 -10
- package/dist/cli/{index-h91bv3hy.js → index-qe3v54nb.js} +6 -1
- package/dist/cli/{index-hpp2r0sd.js → index-qzqx2qky.js} +3 -3
- package/dist/cli/{index-fhmw7evd.js → index-rdwfqhp7.js} +2 -2
- package/dist/cli/{index-ky8eb4q6.js → index-srvqfcyj.js} +2 -2
- package/dist/cli/{index-1rga1vvb.js → index-wh8949ef.js} +1 -1
- package/dist/cli/{index-r9fjzr3k.js → index-xbe1wtme.js} +1 -1
- package/dist/cli/index.js +23 -22
- package/dist/cli/{knowledge-escalator-4gbz527n.js → knowledge-escalator-0q1p6br7.js} +8 -8
- package/dist/cli/{knowledge-events-b6x28fgc.js → knowledge-events-9518gzsp.js} +6 -6
- package/dist/cli/{knowledge-store-h3cjx4dg.js → knowledge-store-k5rab79h.js} +6 -6
- package/dist/cli/{knowledge-validator-q6jw2p0t.js → knowledge-validator-csay9wqj.js} +7 -7
- package/dist/cli/{pending-delegations-gc3a2hfx.js → pending-delegations-ddbkbgxy.js} +11 -4
- package/dist/cli/{pr-subscriptions-p8g2rzxd.js → pr-subscriptions-vwv7zm2p.js} +5 -5
- package/dist/cli/{schema-qb313fyy.js → schema-e5kd993s.js} +1 -1
- package/dist/cli/{scope-persistence-5ccgtebg.js → scope-persistence-fm0gzhnk.js} +2 -2
- package/dist/cli/{skill-generator-nnwn4sq0.js → skill-generator-z01sjppf.js} +9 -9
- package/dist/cli/{telemetry-jm7t8031.js → telemetry-jny76r83.js} +1 -1
- package/dist/cli/workspace-snapshot-eyf6gd0d.js +22 -0
- package/dist/commands/registry.d.ts +7 -0
- package/dist/config/constants.d.ts +1 -1
- package/dist/config/skill-mirrors.d.ts +3 -1
- package/dist/gate-evidence-classification.d.ts +5 -0
- package/dist/gate-evidence.d.ts +14 -3
- package/dist/hooks/messages-transform.d.ts +22 -1
- package/dist/hooks/spawn-helper.d.ts +10 -0
- package/dist/index.js +302 -300
- package/dist/memory/schema.d.ts +4 -4
- package/dist/sandbox/capability-probe.d.ts +14 -0
- package/dist/sandbox/macos/sandbox-exec-executor.d.ts +5 -0
- package/dist/tools/phase-complete.d.ts +8 -0
- package/dist/tools/sast-scan.d.ts +2 -0
- package/dist/tools/tool-metadata.d.ts +1 -1
- package/dist/utils/path-security.d.ts +28 -0
- package/package.json +2 -1
- package/dist/cli/curator-llm-factory-nmhzc774.js +0 -40
- package/dist/cli/guardrail-explain-q1np1xaw.js +0 -41
- package/dist/cli/hive-promoter-z4dezw62.js +0 -48
package/dist/memory/schema.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import type { CuratorMemoryDecision, MemoryKind, MemoryPatch, MemoryProposal, Me
|
|
|
3
3
|
export declare const MemoryScopeTypeSchema: z.ZodEnum<{
|
|
4
4
|
agent: "agent";
|
|
5
5
|
project: "project";
|
|
6
|
-
global_user: "global_user";
|
|
7
6
|
workspace: "workspace";
|
|
7
|
+
global_user: "global_user";
|
|
8
8
|
repository: "repository";
|
|
9
9
|
run: "run";
|
|
10
10
|
}>;
|
|
@@ -12,8 +12,8 @@ export declare const MemoryScopeRefSchema: z.ZodObject<{
|
|
|
12
12
|
type: z.ZodEnum<{
|
|
13
13
|
agent: "agent";
|
|
14
14
|
project: "project";
|
|
15
|
-
global_user: "global_user";
|
|
16
15
|
workspace: "workspace";
|
|
16
|
+
global_user: "global_user";
|
|
17
17
|
repository: "repository";
|
|
18
18
|
run: "run";
|
|
19
19
|
}>;
|
|
@@ -63,8 +63,8 @@ export declare const MemoryRecordSchema: z.ZodObject<{
|
|
|
63
63
|
type: z.ZodEnum<{
|
|
64
64
|
agent: "agent";
|
|
65
65
|
project: "project";
|
|
66
|
-
global_user: "global_user";
|
|
67
66
|
workspace: "workspace";
|
|
67
|
+
global_user: "global_user";
|
|
68
68
|
repository: "repository";
|
|
69
69
|
run: "run";
|
|
70
70
|
}>;
|
|
@@ -142,8 +142,8 @@ export declare const MemoryProposalSchema: z.ZodObject<{
|
|
|
142
142
|
type: z.ZodEnum<{
|
|
143
143
|
agent: "agent";
|
|
144
144
|
project: "project";
|
|
145
|
-
global_user: "global_user";
|
|
146
145
|
workspace: "workspace";
|
|
146
|
+
global_user: "global_user";
|
|
147
147
|
repository: "repository";
|
|
148
148
|
run: "run";
|
|
149
149
|
}>;
|
|
@@ -11,10 +11,24 @@
|
|
|
11
11
|
*/
|
|
12
12
|
/** Possible sandbox status values. */
|
|
13
13
|
export type SandboxStatus = 'enabled' | 'disabled' | 'unsupported';
|
|
14
|
+
/**
|
|
15
|
+
* Enforcement strength of an available sandbox mechanism.
|
|
16
|
+
* - `strong`: real kernel-level enforcement (bubblewrap, sandbox-exec, the
|
|
17
|
+
* Windows native runner).
|
|
18
|
+
* - `advisory`: best-effort, non-kernel restriction (the Windows PowerShell
|
|
19
|
+
* environment-scrub fallback). Must NEVER be reported as real containment
|
|
20
|
+
* (issue #1778 H2).
|
|
21
|
+
*/
|
|
22
|
+
export type SandboxStrength = 'strong' | 'advisory';
|
|
14
23
|
/** Result of a sandbox capability probe. */
|
|
15
24
|
export interface SandboxCapability {
|
|
16
25
|
/** Whether the sandbox mechanism is available. */
|
|
17
26
|
status: SandboxStatus;
|
|
27
|
+
/**
|
|
28
|
+
* Enforcement strength when `status === 'enabled'`. Absent for
|
|
29
|
+
* disabled/unsupported results.
|
|
30
|
+
*/
|
|
31
|
+
strength?: SandboxStrength;
|
|
18
32
|
/** Human-readable mechanism name, e.g. "Bubblewrap". */
|
|
19
33
|
mechanism: string;
|
|
20
34
|
/** Current process.platform value. */
|
|
@@ -23,7 +23,12 @@ declare function probeSandboxExec(): boolean;
|
|
|
23
23
|
*/
|
|
24
24
|
export declare const _internals: {
|
|
25
25
|
probeSandboxExec: typeof probeSandboxExec;
|
|
26
|
+
buildSandboxProfile: typeof buildSandboxProfile;
|
|
26
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Build a sandbox-exec profile string for the given scope paths, temp dir, and optional env overrides.
|
|
30
|
+
*/
|
|
31
|
+
declare function buildSandboxProfile(scopePaths: string[], tempDir: string, envOverrides?: Record<string, string | null>): string;
|
|
27
32
|
/**
|
|
28
33
|
* macOS sandbox-exec sandbox executor.
|
|
29
34
|
*/
|
|
@@ -25,6 +25,10 @@ export interface PhaseCompleteArgs {
|
|
|
25
25
|
callerAgent?: string;
|
|
26
26
|
}
|
|
27
27
|
export declare const MAX_OUTPUT_BYTES = 512000;
|
|
28
|
+
declare function allCompletedTasksHavePassedGateEvidence(directory: string, tasks: Array<{
|
|
29
|
+
id: string;
|
|
30
|
+
status: string;
|
|
31
|
+
}>): Promise<boolean>;
|
|
28
32
|
/**
|
|
29
33
|
* Execute the phase_complete tool
|
|
30
34
|
* Gathers data, enforces policy, writes event, resets state
|
|
@@ -47,3 +51,7 @@ export declare function _buildOutputJson(outputData: {
|
|
|
47
51
|
* Tool definition for phase_complete
|
|
48
52
|
*/
|
|
49
53
|
export declare const phase_complete: ToolDefinition;
|
|
54
|
+
export declare const _test_exports: {
|
|
55
|
+
allCompletedTasksHavePassedGateEvidence: typeof allCompletedTasksHavePassedGateEvidence;
|
|
56
|
+
};
|
|
57
|
+
export {};
|
|
@@ -29,6 +29,8 @@ export interface SastScanInput {
|
|
|
29
29
|
export interface SastScanResult {
|
|
30
30
|
/** Overall verdict: pass if no findings above threshold, fail otherwise */
|
|
31
31
|
verdict: EvidenceVerdict;
|
|
32
|
+
/** Validation error when the requested scan cannot safely run */
|
|
33
|
+
error?: string;
|
|
32
34
|
/** Array of security findings */
|
|
33
35
|
findings: SastScanFinding[];
|
|
34
36
|
/** Summary information */
|
|
@@ -165,7 +165,7 @@ export declare const TOOL_METADATA: {
|
|
|
165
165
|
};
|
|
166
166
|
extract_code_blocks: {
|
|
167
167
|
description: string;
|
|
168
|
-
agents: ("
|
|
168
|
+
agents: ("test_engineer" | "coder" | "docs" | "designer" | "docs_design" | "spec_writer")[];
|
|
169
169
|
};
|
|
170
170
|
phase_complete: {
|
|
171
171
|
description: string;
|
|
@@ -34,6 +34,32 @@ export declare function validateDirectory(directory: string): void;
|
|
|
34
34
|
* @throws Error if the resolved target escapes the root boundary
|
|
35
35
|
*/
|
|
36
36
|
export declare function validateSymlinkBoundary(targetPath: string, rootPath: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Verify that a target path canonically resolves inside a root directory.
|
|
39
|
+
* For targets that do not exist yet (e.g. new-file creation), resolves the
|
|
40
|
+
* nearest existing ancestor instead, so a symlinked intermediate directory
|
|
41
|
+
* cannot be used to escape the root. Mirrors the containment used by
|
|
42
|
+
* swarm_apply_patch (the correct template for write tools).
|
|
43
|
+
*
|
|
44
|
+
* @param targetPath - absolute path to validate
|
|
45
|
+
* @param rootPath - absolute root boundary
|
|
46
|
+
* @returns true if the canonical target is within the canonical root
|
|
47
|
+
*/
|
|
48
|
+
export declare function isCanonicalPathWithinRoot(targetPath: string, rootPath: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Validate that a caller-supplied path stays within an allowed root directory.
|
|
51
|
+
* Rejects empty paths, absolute paths (POSIX + Windows drive), traversal,
|
|
52
|
+
* control characters, lexical escape, and symlink/junction escape.
|
|
53
|
+
* Returns a human-readable reason string on rejection, or null when valid.
|
|
54
|
+
*
|
|
55
|
+
* This is the shared containment primitive for write-capable tools whose
|
|
56
|
+
* target path is derived from untrusted input (e.g. extract_code_blocks'
|
|
57
|
+
* output_dir and `# filename:` comments).
|
|
58
|
+
*
|
|
59
|
+
* @param filePath - the caller-supplied path (relative to root, or absolute-rejected)
|
|
60
|
+
* @param root - the absolute root boundary (workspace directory)
|
|
61
|
+
*/
|
|
62
|
+
export declare function validateTargetWithinRoot(filePath: string, root: string): string | null;
|
|
37
63
|
/**
|
|
38
64
|
* DI seam for testability. Contains all test-mocked exports.
|
|
39
65
|
* Internal calls should use _internals.fn() instead of fn() directly.
|
|
@@ -43,4 +69,6 @@ export declare const _internals: {
|
|
|
43
69
|
containsControlChars: typeof containsControlChars;
|
|
44
70
|
validateDirectory: typeof validateDirectory;
|
|
45
71
|
validateSymlinkBoundary: typeof validateSymlinkBoundary;
|
|
72
|
+
isCanonicalPathWithinRoot: typeof isCanonicalPathWithinRoot;
|
|
73
|
+
validateTargetWithinRoot: typeof validateTargetWithinRoot;
|
|
46
74
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.113.
|
|
3
|
+
"version": "7.113.3",
|
|
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",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"files": [
|
|
41
41
|
"dist",
|
|
42
42
|
"dist/lang/grammars",
|
|
43
|
+
"binaries",
|
|
43
44
|
".opencode/skills/brainstorm",
|
|
44
45
|
".opencode/skills/specify",
|
|
45
46
|
".opencode/skills/clarify-spec",
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
createCuratorLLMDelegate
|
|
4
|
-
} from "./index-npd9rypp.js";
|
|
5
|
-
import"./index-8f256d7t.js";
|
|
6
|
-
import"./index-c8s9a3zh.js";
|
|
7
|
-
import"./index-0gf6de8b.js";
|
|
8
|
-
import"./index-1ey3dxq7.js";
|
|
9
|
-
import"./index-d0w40jm3.js";
|
|
10
|
-
import"./index-scww5b77.js";
|
|
11
|
-
import"./index-9fxs0rm1.js";
|
|
12
|
-
import"./index-q1jaeynn.js";
|
|
13
|
-
import"./index-h389ed8y.js";
|
|
14
|
-
import"./index-30ejh1tx.js";
|
|
15
|
-
import"./index-t6wfwdm1.js";
|
|
16
|
-
import"./index-hpp2r0sd.js";
|
|
17
|
-
import"./index-32bx4kch.js";
|
|
18
|
-
import"./index-bfwt3abw.js";
|
|
19
|
-
import"./index-db1fh1fv.js";
|
|
20
|
-
import"./index-jt58s751.js";
|
|
21
|
-
import"./index-wvrj16f0.js";
|
|
22
|
-
import"./index-q1exe2b3.js";
|
|
23
|
-
import"./index-g55nzpwn.js";
|
|
24
|
-
import"./index-fhmw7evd.js";
|
|
25
|
-
import"./index-1rga1vvb.js";
|
|
26
|
-
import"./index-jtqkh8jf.js";
|
|
27
|
-
import"./index-5e4e2hvv.js";
|
|
28
|
-
import"./index-p0arc26j.js";
|
|
29
|
-
import"./index-zgwm4ryv.js";
|
|
30
|
-
import"./index-pm992z24.js";
|
|
31
|
-
import"./index-0dab9w37.js";
|
|
32
|
-
import"./index-293f68mj.js";
|
|
33
|
-
import"./index-5mkc2f9z.js";
|
|
34
|
-
import"./index-vn263hqt.js";
|
|
35
|
-
import"./index-vvk2g744.js";
|
|
36
|
-
import"./index-h91bv3hy.js";
|
|
37
|
-
import"./index-a76rekgs.js";
|
|
38
|
-
export {
|
|
39
|
-
createCuratorLLMDelegate
|
|
40
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
handleGuardrailExplain
|
|
4
|
-
} from "./index-ky8eb4q6.js";
|
|
5
|
-
import"./index-npd9rypp.js";
|
|
6
|
-
import"./index-8f256d7t.js";
|
|
7
|
-
import"./index-c8s9a3zh.js";
|
|
8
|
-
import"./index-0gf6de8b.js";
|
|
9
|
-
import"./index-1ey3dxq7.js";
|
|
10
|
-
import"./index-d0w40jm3.js";
|
|
11
|
-
import"./index-scww5b77.js";
|
|
12
|
-
import"./index-9fxs0rm1.js";
|
|
13
|
-
import"./index-q1jaeynn.js";
|
|
14
|
-
import"./index-h389ed8y.js";
|
|
15
|
-
import"./index-30ejh1tx.js";
|
|
16
|
-
import"./index-t6wfwdm1.js";
|
|
17
|
-
import"./index-hpp2r0sd.js";
|
|
18
|
-
import"./index-32bx4kch.js";
|
|
19
|
-
import"./index-bfwt3abw.js";
|
|
20
|
-
import"./index-db1fh1fv.js";
|
|
21
|
-
import"./index-jt58s751.js";
|
|
22
|
-
import"./index-wvrj16f0.js";
|
|
23
|
-
import"./index-q1exe2b3.js";
|
|
24
|
-
import"./index-g55nzpwn.js";
|
|
25
|
-
import"./index-fhmw7evd.js";
|
|
26
|
-
import"./index-1rga1vvb.js";
|
|
27
|
-
import"./index-jtqkh8jf.js";
|
|
28
|
-
import"./index-5e4e2hvv.js";
|
|
29
|
-
import"./index-p0arc26j.js";
|
|
30
|
-
import"./index-zgwm4ryv.js";
|
|
31
|
-
import"./index-pm992z24.js";
|
|
32
|
-
import"./index-0dab9w37.js";
|
|
33
|
-
import"./index-293f68mj.js";
|
|
34
|
-
import"./index-5mkc2f9z.js";
|
|
35
|
-
import"./index-vn263hqt.js";
|
|
36
|
-
import"./index-vvk2g744.js";
|
|
37
|
-
import"./index-h91bv3hy.js";
|
|
38
|
-
import"./index-a76rekgs.js";
|
|
39
|
-
export {
|
|
40
|
-
handleGuardrailExplain
|
|
41
|
-
};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
checkHivePromotions,
|
|
4
|
-
createHivePromoterHook,
|
|
5
|
-
isHiveEligible,
|
|
6
|
-
promoteFromSwarm,
|
|
7
|
-
promoteToHive
|
|
8
|
-
} from "./index-npd9rypp.js";
|
|
9
|
-
import"./index-8f256d7t.js";
|
|
10
|
-
import"./index-c8s9a3zh.js";
|
|
11
|
-
import"./index-0gf6de8b.js";
|
|
12
|
-
import"./index-1ey3dxq7.js";
|
|
13
|
-
import"./index-d0w40jm3.js";
|
|
14
|
-
import"./index-scww5b77.js";
|
|
15
|
-
import"./index-9fxs0rm1.js";
|
|
16
|
-
import"./index-q1jaeynn.js";
|
|
17
|
-
import"./index-h389ed8y.js";
|
|
18
|
-
import"./index-30ejh1tx.js";
|
|
19
|
-
import"./index-t6wfwdm1.js";
|
|
20
|
-
import"./index-hpp2r0sd.js";
|
|
21
|
-
import"./index-32bx4kch.js";
|
|
22
|
-
import"./index-bfwt3abw.js";
|
|
23
|
-
import"./index-db1fh1fv.js";
|
|
24
|
-
import"./index-jt58s751.js";
|
|
25
|
-
import"./index-wvrj16f0.js";
|
|
26
|
-
import"./index-q1exe2b3.js";
|
|
27
|
-
import"./index-g55nzpwn.js";
|
|
28
|
-
import"./index-fhmw7evd.js";
|
|
29
|
-
import"./index-1rga1vvb.js";
|
|
30
|
-
import"./index-jtqkh8jf.js";
|
|
31
|
-
import"./index-5e4e2hvv.js";
|
|
32
|
-
import"./index-p0arc26j.js";
|
|
33
|
-
import"./index-zgwm4ryv.js";
|
|
34
|
-
import"./index-pm992z24.js";
|
|
35
|
-
import"./index-0dab9w37.js";
|
|
36
|
-
import"./index-293f68mj.js";
|
|
37
|
-
import"./index-5mkc2f9z.js";
|
|
38
|
-
import"./index-vn263hqt.js";
|
|
39
|
-
import"./index-vvk2g744.js";
|
|
40
|
-
import"./index-h91bv3hy.js";
|
|
41
|
-
import"./index-a76rekgs.js";
|
|
42
|
-
export {
|
|
43
|
-
promoteToHive,
|
|
44
|
-
promoteFromSwarm,
|
|
45
|
-
isHiveEligible,
|
|
46
|
-
createHivePromoterHook,
|
|
47
|
-
checkHivePromotions
|
|
48
|
-
};
|