opencode-swarm 7.98.2 → 7.99.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.
Files changed (46) hide show
  1. package/README.md +6 -3
  2. package/dist/agents/_prompt-helpers.d.ts +1 -0
  3. package/dist/cli/{config-doctor-7yrxfa6b.js → config-doctor-9fhfy6p7.js} +2 -2
  4. package/dist/cli/{evidence-summary-service-559nas1m.js → evidence-summary-service-gvd7mw7v.js} +5 -5
  5. package/dist/cli/{explorer-jc46negv.js → explorer-rwfvbbx5.js} +1 -1
  6. package/dist/cli/{gate-evidence-nphg8hay.js → gate-evidence-ywys9vfs.js} +4 -4
  7. package/dist/cli/guardrail-explain-6g1japmf.js +30 -0
  8. package/dist/cli/{guardrail-log-53z1cf46.js → guardrail-log-ya49kpwn.js} +3 -3
  9. package/dist/cli/{index-91qtsbce.js → index-3naa2ajc.js} +1 -1
  10. package/dist/cli/{index-a0dv2c7k.js → index-5fxjagjt.js} +1 -1
  11. package/dist/cli/{index-471qxz9g.js → index-7hnwnw5g.js} +11 -1
  12. package/dist/cli/{index-kv4dd5c5.js → index-9b7qp18e.js} +1 -1
  13. package/dist/cli/{index-72k57f21.js → index-brpm7xs3.js} +1157 -803
  14. package/dist/cli/{index-hb10a2g8.js → index-f7nma02k.js} +2 -2
  15. package/dist/cli/{index-gnd1280x.js → index-h9ptj4b1.js} +1 -1
  16. package/dist/cli/{index-yrzfbqqh.js → index-qcr60fgm.js} +29 -16
  17. package/dist/cli/{index-mh1ej70w.js → index-r8f89sm9.js} +2 -2
  18. package/dist/cli/{index-zy22fg5h.js → index-svf2zjxs.js} +5 -1
  19. package/dist/cli/{index-rvweaxsd.js → index-sy329dh4.js} +2 -2
  20. package/dist/cli/{index-xchgryg4.js → index-vn263hqt.js} +16 -2
  21. package/dist/cli/{index-fjxjb66n.js → index-vwyjkzgs.js} +3 -3
  22. package/dist/cli/{index-5z2e78tv.js → index-xsswhy6k.js} +1 -1
  23. package/dist/cli/{index-chan9mkv.js → index-xy3gw0rw.js} +17 -15
  24. package/dist/cli/{index-2a6ppa65.js → index-ydgy7vg5.js} +12 -7
  25. package/dist/cli/index.js +13 -13
  26. package/dist/cli/{knowledge-store-pa58msy5.js → knowledge-store-tsa8ezka.js} +4 -4
  27. package/dist/cli/{pending-delegations-8b2js1vq.js → pending-delegations-c785p5n2.js} +2 -2
  28. package/dist/cli/{pr-subscriptions-ttvr1ta9.js → pr-subscriptions-fqrzm0tv.js} +3 -3
  29. package/dist/cli/{schema-mygkbbe9.js → schema-nz638xc3.js} +5 -1
  30. package/dist/cli/{skill-generator-3tkwcg4x.js → skill-generator-99rrfwae.js} +5 -5
  31. package/dist/cli/{telemetry-aa1ma1dr.js → telemetry-jm7t8031.js} +1 -1
  32. package/dist/commands/costs.d.ts +4 -0
  33. package/dist/commands/index.d.ts +1 -0
  34. package/dist/commands/registry.d.ts +9 -2
  35. package/dist/config/evidence-schema.d.ts +44 -44
  36. package/dist/config/index.d.ts +2 -2
  37. package/dist/config/schema.d.ts +24 -0
  38. package/dist/evidence/manager.d.ts +5 -0
  39. package/dist/hooks/knowledge-migrator.d.ts +7 -0
  40. package/dist/index.js +3074 -2478
  41. package/dist/services/cost-accounting.d.ts +65 -0
  42. package/dist/telemetry.d.ts +2 -1
  43. package/dist/turbo/lean/conflicts.d.ts +2 -13
  44. package/dist/utils/path.d.ts +1 -0
  45. package/package.json +1 -1
  46. package/dist/cli/guardrail-explain-xktjjh53.js +0 -30
package/README.md CHANGED
@@ -39,7 +39,7 @@ Most AI coding tools let one model write code and ask that same model whether th
39
39
  - 🔄 **Phase completion gates** — completion-verify and drift verifier gates enforced before phase completion
40
40
  - 🔁 **Resumable sessions** — all state saved to `.swarm/`; pick up any project any day
41
41
  - 🖥️ **PR Monitor** — GitHub PR subscription and background polling via `gh` CLI; delivers real-time CI, review, and merge status updates via the AutomationEventBus (FR-001, opt-in via `pr_monitor.enabled: true`). Subscribe with `/swarm pr subscribe <pr-url|owner/repo#N|N>`; unsubscribe with `/swarm pr unsubscribe <pr-url|owner/repo#N|N>`; check status with `/swarm pr status`. Enable `auto_pr_feedback: true` in `pr_monitor` config to inject `[MODE: PR_FEEDBACK pr="URL"]` on CI failures and merge conflicts automatically.
42
- - 🌐 **20 languages** TypeScript, Python, Go, Rust, Java, Kotlin, C/C++, C#, Ruby, Swift, Dart, PHP, JavaScript, CSS, Bash, PowerShell, INI, Regex (extending: see [docs/adding-a-language.md](docs/adding-a-language.md))
42
+ - 🌐 **12 full language profiles** (TypeScript, Python, Go, Rust, Java, Kotlin, C/C++, C#, Ruby, Swift, Dart, PHP) with **tree-sitter parse validation across 20 grammars** (adds JavaScript, CSS, Bash, PowerShell, INI, Regex — and `.tsx` / `.c` aliases) — extending: see [docs/adding-a-language.md](docs/adding-a-language.md)
43
43
  - 🛡️ **Built-in security** — SAST, secrets scanning, dependency audit per task
44
44
  - 🔒 **Scope enforcement** — Validates write targets against declared scope with cross-process persistence, TTL expiry, and scope-aware destructive command blocking. **Handles both single-string and array-based path arguments** (`files[]`, `paths[]`, `targetFiles[]`) to prevent scope bypass via multi-file tool calls.
45
45
  - 📝 **Shell write detection** — Static analysis of POSIX/PowerShell/cmd commands to detect file writes (redirects, builtins, in-place editors, network downloads, archive extraction, git destructive ops) before execution
@@ -522,6 +522,8 @@ Every agent runs inside a circuit breaker that prevents runaway behavior:
522
522
 
523
523
  Limits reset per task. Per-agent overrides available in config.
524
524
 
525
+ > **Note:** Built-in per-agent profiles override the global `max_consecutive_errors` to **8** for `architect`, `coder`, `test_engineer`, `explorer`, and `reviewer` (`src/config/schema.ts` `DEFAULT_AGENT_PROFILES`). The `5` shown above is the `GuardrailsConfigSchema` global default that applies only when no per-agent profile sets the value. See [docs/installation.md § Guardrails Configuration](docs/installation.md#guardrails-configuration) for the full schema and [docs/configuration.md § Per-agent override fields](docs/configuration.md#per-agent-override-fields) for how to override.
526
+
525
527
  ### File Authority (Per-Agent Write Permissions)
526
528
 
527
529
  Each agent can only write to specific paths:
@@ -540,7 +542,7 @@ Built-in tools verify every task before it ships:
540
542
 
541
543
  - **syntax_check** — Tree-sitter validation across the configured language grammar map
542
544
  - **placeholder_scan** — Catches TODOs, stubs, incomplete code
543
- - **sast_scan** — 63+ security rules, 9 languages (offline)
545
+ - **sast_scan** — 65 security rules across 7 languages (offline)
544
546
  - **sbom_generate** — Dependency tracking (CycloneDX)
545
547
  - **quality_budget** — Complexity, duplication, test ratio limits
546
548
 
@@ -796,7 +798,7 @@ Every candidate passes a 3-gate pipeline before entering quarantine:
796
798
  |------|-------------|
797
799
  | syntax_check | Tree-sitter validation across the configured language grammar map |
798
800
  | placeholder_scan | Catches TODOs, FIXMEs, stubs, placeholder text |
799
- | sast_scan | Offline security analysis, 63+ rules, 9 languages |
801
+ | sast_scan | Offline security analysis, 65 rules, 7 languages |
800
802
  | sbom_generate | CycloneDX dependency tracking, 8 ecosystems |
801
803
  | build_check | Runs your project's native build/typecheck |
802
804
  | incremental_verify | Post-coder hook for TS/JS, Go, Rust, Python, and C#; configured by `incremental_verify.*`, not invoked as a registered tool |
@@ -1094,6 +1096,7 @@ Control how tool outputs are summarized for LLM context.
1094
1096
  | `/swarm evidence [task]` | Evidence bundles for a task or all tasks |
1095
1097
  | `/swarm archive [--dry-run]` | Archive old evidence with retention policy |
1096
1098
  | `/swarm benchmark` | Performance benchmarks |
1099
+ | `/swarm costs [--json]` | Per-agent, per-task, per-gate, and per-retry token/cost totals from telemetry |
1097
1100
  | `/swarm retrieve [id]` | Retrieve auto-summarized tool outputs (supports offset/limit pagination) |
1098
1101
  | `/swarm reset --confirm` | Clear swarm state files |
1099
1102
  | `/swarm reset-session` | Clear session state files in `.swarm/session/` (preserves plan and context) |
@@ -0,0 +1 @@
1
+ export declare function resolvePrompt(base: string, custom?: string, append?: string): string;
@@ -12,8 +12,8 @@ import {
12
12
  shouldRunOnStartup,
13
13
  writeBackupArtifact,
14
14
  writeDoctorArtifact
15
- } from "./index-zy22fg5h.js";
16
- import"./index-471qxz9g.js";
15
+ } from "./index-svf2zjxs.js";
16
+ import"./index-7hnwnw5g.js";
17
17
  import"./index-5e4e2hvv.js";
18
18
  import"./index-p0arc26j.js";
19
19
  import"./index-zgwm4ryv.js";
@@ -6,9 +6,9 @@ import {
6
6
  loadPlanJsonOnly,
7
7
  mergeDurableGateEntriesFromEvidence,
8
8
  readDurableGateEvidence
9
- } from "./index-yrzfbqqh.js";
10
- import"./index-mh1ej70w.js";
11
- import"./index-kv4dd5c5.js";
9
+ } from "./index-qcr60fgm.js";
10
+ import"./index-r8f89sm9.js";
11
+ import"./index-9b7qp18e.js";
12
12
  import"./index-we94wkty.js";
13
13
  import"./index-jtqkh8jf.js";
14
14
  import"./index-5e4e2hvv.js";
@@ -16,10 +16,10 @@ import"./index-p0arc26j.js";
16
16
  import {
17
17
  log
18
18
  } from "./index-zgwm4ryv.js";
19
- import"./index-91qtsbce.js";
19
+ import"./index-3naa2ajc.js";
20
20
  import"./index-293f68mj.js";
21
21
  import"./index-b9v501fr.js";
22
- import"./index-xchgryg4.js";
22
+ import"./index-vn263hqt.js";
23
23
  import"./index-a76rekgs.js";
24
24
 
25
25
  // src/services/evidence-summary-service.ts
@@ -6,7 +6,7 @@ import {
6
6
  CURATOR_POSTMORTEM_PROMPT,
7
7
  EXPLORER_PROMPT,
8
8
  createExplorerAgent
9
- } from "./index-2a6ppa65.js";
9
+ } from "./index-ydgy7vg5.js";
10
10
  import"./index-a76rekgs.js";
11
11
  export {
12
12
  createExplorerAgent,
@@ -9,12 +9,12 @@ import {
9
9
  readTaskEvidenceRaw,
10
10
  recordAgentDispatch,
11
11
  recordGateEvidence
12
- } from "./index-mh1ej70w.js";
13
- import"./index-kv4dd5c5.js";
14
- import"./index-91qtsbce.js";
12
+ } from "./index-r8f89sm9.js";
13
+ import"./index-9b7qp18e.js";
14
+ import"./index-3naa2ajc.js";
15
15
  import"./index-293f68mj.js";
16
16
  import"./index-b9v501fr.js";
17
- import"./index-xchgryg4.js";
17
+ import"./index-vn263hqt.js";
18
18
  import"./index-a76rekgs.js";
19
19
  export {
20
20
  recordGateEvidence,
@@ -0,0 +1,30 @@
1
+ // @bun
2
+ import {
3
+ handleGuardrailExplain
4
+ } from "./index-sy329dh4.js";
5
+ import"./index-brpm7xs3.js";
6
+ import"./index-xsswhy6k.js";
7
+ import"./index-ydgy7vg5.js";
8
+ import"./index-vwyjkzgs.js";
9
+ import"./index-f7nma02k.js";
10
+ import"./index-svf2zjxs.js";
11
+ import"./index-7hnwnw5g.js";
12
+ import"./index-qcr60fgm.js";
13
+ import"./index-adz3nk9b.js";
14
+ import"./index-v4fcn4tr.js";
15
+ import"./index-r8f89sm9.js";
16
+ import"./index-9b7qp18e.js";
17
+ import"./index-5fxjagjt.js";
18
+ import"./index-we94wkty.js";
19
+ import"./index-jtqkh8jf.js";
20
+ import"./index-5e4e2hvv.js";
21
+ import"./index-p0arc26j.js";
22
+ import"./index-zgwm4ryv.js";
23
+ import"./index-3naa2ajc.js";
24
+ import"./index-293f68mj.js";
25
+ import"./index-b9v501fr.js";
26
+ import"./index-vn263hqt.js";
27
+ import"./index-a76rekgs.js";
28
+ export {
29
+ handleGuardrailExplain
30
+ };
@@ -1,9 +1,9 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailLog
4
- } from "./index-gnd1280x.js";
5
- import"./index-5z2e78tv.js";
6
- import"./index-471qxz9g.js";
4
+ } from "./index-h9ptj4b1.js";
5
+ import"./index-xsswhy6k.js";
6
+ import"./index-7hnwnw5g.js";
7
7
  import"./index-5e4e2hvv.js";
8
8
  import"./index-p0arc26j.js";
9
9
  import"./index-zgwm4ryv.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  emit
4
- } from "./index-xchgryg4.js";
4
+ } from "./index-vn263hqt.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require,
@@ -7,7 +7,7 @@ import {
7
7
  } from "./index-zgwm4ryv.js";
8
8
  import {
9
9
  withEvidenceLock
10
- } from "./index-91qtsbce.js";
10
+ } from "./index-3naa2ajc.js";
11
11
  import {
12
12
  exports_external
13
13
  } from "./index-293f68mj.js";
@@ -1021,6 +1021,15 @@ var SwarmConfigSchema = exports_external.object({
1021
1021
  name: exports_external.string().optional(),
1022
1022
  agents: exports_external.record(exports_external.string(), AgentOverrideConfigSchema).optional()
1023
1023
  });
1024
+ var ModelPricingConfigSchema = exports_external.object({
1025
+ input_per_million: exports_external.number().min(0),
1026
+ output_per_million: exports_external.number().min(0),
1027
+ reasoning_per_million: exports_external.number().min(0).optional(),
1028
+ cache_per_million: exports_external.number().min(0).optional()
1029
+ });
1030
+ var PricingConfigSchema = exports_external.object({
1031
+ models: exports_external.record(exports_external.string().min(1), ModelPricingConfigSchema).optional().default({})
1032
+ });
1024
1033
  var HooksConfigSchema = exports_external.object({
1025
1034
  system_enhancer: exports_external.boolean().default(true),
1026
1035
  compaction: exports_external.boolean().default(true),
@@ -2016,6 +2025,7 @@ var PluginConfigSchema = exports_external.object({
2016
2025
  hooks: HooksConfigSchema.optional(),
2017
2026
  gates: GateConfigSchema.optional(),
2018
2027
  context_budget: ContextBudgetConfigSchema.optional(),
2028
+ pricing: PricingConfigSchema.optional(),
2019
2029
  guardrails: GuardrailsConfigSchema.optional(),
2020
2030
  watchdog: WatchdogConfigSchema.optional(),
2021
2031
  self_review: SelfReviewConfigSchema.optional(),
@@ -2221,4 +2231,4 @@ var PluginConfigSchema = exports_external.object({
2221
2231
  skills: SkillsConfigSchema.optional()
2222
2232
  });
2223
2233
 
2224
- export { ORCHESTRATOR_NAME, ALL_SUBAGENT_NAMES, ALL_AGENT_NAMES, TOOL_NAMES, TOOL_NAME_SET, AGENT_TOOL_MAP, DEFAULT_AGENT_CONFIGS, _internals, isKnownCanonicalRole, getCanonicalAgentRole, resolveGeneratedAgentRole, stripKnownSwarmPrefix, AgentReasoningConfigSchema, AgentThinkingConfigSchema, AgentOverrideConfigSchema, SwarmConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GateConfigSchema, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, ReviewPassesConfigSchema, AutoReviewConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, resolveGuardrailsConfig, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, RepoGraphConfigSchema, CheckpointConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchema, KnowledgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, SkillImproverConfigSchema, SkillsConfigSchema, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, EpicConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, DEFAULT_SKILLS_CONFIG, resolveExternalSkillsConfig, PluginConfigSchema };
2234
+ export { ORCHESTRATOR_NAME, ALL_SUBAGENT_NAMES, ALL_AGENT_NAMES, TOOL_NAMES, TOOL_NAME_SET, AGENT_TOOL_MAP, DEFAULT_AGENT_CONFIGS, _internals, isKnownCanonicalRole, getCanonicalAgentRole, resolveGeneratedAgentRole, stripKnownSwarmPrefix, AgentReasoningConfigSchema, AgentThinkingConfigSchema, AgentOverrideConfigSchema, SwarmConfigSchema, ModelPricingConfigSchema, PricingConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GateConfigSchema, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, ReviewPassesConfigSchema, AutoReviewConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, resolveGuardrailsConfig, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, RepoGraphConfigSchema, CheckpointConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchema, KnowledgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, SkillImproverConfigSchema, SkillsConfigSchema, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, EpicConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, DEFAULT_SKILLS_CONFIG, resolveExternalSkillsConfig, PluginConfigSchema };
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  withEvidenceLock
4
- } from "./index-91qtsbce.js";
4
+ } from "./index-3naa2ajc.js";
5
5
  import {
6
6
  bunWrite
7
7
  } from "./index-b9v501fr.js";