@manya-os/council 1.0.0 → 1.1.0
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/CHANGELOG.md +21 -21
- package/LICENSE +21 -21
- package/README.md +244 -244
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +48 -48
package/CHANGELOG.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to `@manya/council` are documented here.
|
|
4
|
-
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Adheres to [SemVer](https://semver.org/).
|
|
5
|
-
|
|
6
|
-
## [1.0.0] — 2024-01-15
|
|
7
|
-
### Added
|
|
8
|
-
- Initial release.
|
|
9
|
-
- Specialist routing: `Specialist` (id, name, expertise, weight), `SpecialistRegistry`, free functions `route(problem, specialists)` (ranked, positive-overlap only) and `routeAll(problem, specialists)` (all specialists with scores), `matchScore` (Jaccard token overlap), `validateSpecialist`.
|
|
10
|
-
- Independent analysis collection: `Analysis` (id, specialistId, problemId, content, confidence, reasoning, caveats?), `AnalysisCollector` with `submit`, `getAll(problemId)`, `getBySpecialist(specialistId)`, `get`, `list`, `size`; `validateAnalysis`.
|
|
11
|
-
- Weighted confidence scoring: `scoreAnalysis(analysis, specialistWeight)`, `aggregateScores(analyses, weights)` (combined weighted mean + variance + stddev), `detectOutliers(analyses, threshold)` (deviation from median); `DEFAULT_OUTLIER_THRESHOLD = 0.25`.
|
|
12
|
-
- Conflict detection: `ConflictDetector.detect(analyses)` returns `Conflict[]` of three types — `opposing_conclusion` (both analyses > 0.6 confidence with opposite polarity), `factual_contradiction` (≥ 0.3 content Jaccard overlap with opposite polarity), `divergent_reasoning` (same polarity, < 0.2 reasoning Jaccard overlap, > 0.1 content overlap). Severity (`low`/`medium`/`high`) based on confidence gap and analyst count. `severityFor`, `CONFLICT_TYPES`, `CONFLICT_SEVERITIES`, and all threshold constants exported.
|
|
13
|
-
- Structured debate: `DebateFacilitator` with `open(problemId, conflictIds)`, `submitRound(debateId, round)` (validates rounds, enforces `rebuttalTo` existence, rejects duplicates and concluded debates, enforces max rounds), `conclude(debateId)`. `validateRound`, `DEFAULT_MAX_DEBATE_ROUNDS = 10`.
|
|
14
|
-
- Minority opinion tracking: `MinorityOpinion` (id, problemId, analystId, position, reasoning, dissentReason), `MinorityOpinionTracker` with `record`, `getForProblem`, `getByAnalyst`, `get`, `list`, `size`; `validateMinorityOpinion`.
|
|
15
|
-
- Consensus building: `ConsensusBuilder(threshold)` with `build(problemId, analyses, conflicts, options)` returning `Consensus` (problemId, decision, confidence, supportingAnalystIds, dissentingAnalystIds, conflictsResolved, openIssues) or `null`. Weighted voting with `specialistWeight × confidence` per analysis. Optional `weights` map and `minorityAnalystIds` (added to dissenters). `DEFAULT_CONSENSUS_THRESHOLD = 0.6`.
|
|
16
|
-
- Review reports: `buildReport(input)` aggregates analyses, conflicts, debates, minority opinions, consensus, and recommendations into a `ReviewReport` (with computed `summary`). `serializeReport(report)` to pretty JSON. `summarizeReport(report)` to a single paragraph.
|
|
17
|
-
- Decision synthesis: `synthesize(problemId, consensus, analyses, conflicts, options)` returns a `Decision` (id, problemId, decision, rationale, confidence, consensusLevel, participants, generatedAt). `consensusLevel` is one of `unanimous` / `strong` / `majority` / `split` / `none`. `classifyConsensus(consensus, threshold)`, `DEFAULT_SYNTHESIS_THRESHOLD = 0.6`, `STRONG_CONSENSUS_RATIO = 0.8`.
|
|
18
|
-
- Shared text utilities (`src/util.ts`): `tokenize`, `tokenSet`, `jaccard`, `polarity`, `stem`, with `STOP_WORDS`, `POSITIVE_MARKERS`, `NEGATIVE_MARKERS` exported for tunability.
|
|
19
|
-
- Typed error hierarchy: `CouncilError` + 7 subclasses (`RoutingError`, `AnalysisError`, `ScoringError`, `ConflictError`, `DebateError`, `ConsensusError`, `SynthesisError`), each carrying a stable `code` string.
|
|
20
|
-
- Structured logging: `Logger`, `LogLevel`, `ConsoleLogger` (with secret scrubbing), `SilentLogger`, `scrubMetadata`, `shouldScrubField`, `SCRUBBED_FIELD_NAMES`.
|
|
21
|
-
- Comprehensive unit test suite: 121 tests covering all modules, the error hierarchy, logging, and a full end-to-end pipeline (route → analyse → detect conflicts → debate → record minority opinion → build consensus → synthesize decision → build report).
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@manya-os/council` are documented here.
|
|
4
|
+
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Adheres to [SemVer](https://semver.org/).
|
|
5
|
+
|
|
6
|
+
## [1.0.0] — 2024-01-15
|
|
7
|
+
### Added
|
|
8
|
+
- Initial release.
|
|
9
|
+
- Specialist routing: `Specialist` (id, name, expertise, weight), `SpecialistRegistry`, free functions `route(problem, specialists)` (ranked, positive-overlap only) and `routeAll(problem, specialists)` (all specialists with scores), `matchScore` (Jaccard token overlap), `validateSpecialist`.
|
|
10
|
+
- Independent analysis collection: `Analysis` (id, specialistId, problemId, content, confidence, reasoning, caveats?), `AnalysisCollector` with `submit`, `getAll(problemId)`, `getBySpecialist(specialistId)`, `get`, `list`, `size`; `validateAnalysis`.
|
|
11
|
+
- Weighted confidence scoring: `scoreAnalysis(analysis, specialistWeight)`, `aggregateScores(analyses, weights)` (combined weighted mean + variance + stddev), `detectOutliers(analyses, threshold)` (deviation from median); `DEFAULT_OUTLIER_THRESHOLD = 0.25`.
|
|
12
|
+
- Conflict detection: `ConflictDetector.detect(analyses)` returns `Conflict[]` of three types — `opposing_conclusion` (both analyses > 0.6 confidence with opposite polarity), `factual_contradiction` (≥ 0.3 content Jaccard overlap with opposite polarity), `divergent_reasoning` (same polarity, < 0.2 reasoning Jaccard overlap, > 0.1 content overlap). Severity (`low`/`medium`/`high`) based on confidence gap and analyst count. `severityFor`, `CONFLICT_TYPES`, `CONFLICT_SEVERITIES`, and all threshold constants exported.
|
|
13
|
+
- Structured debate: `DebateFacilitator` with `open(problemId, conflictIds)`, `submitRound(debateId, round)` (validates rounds, enforces `rebuttalTo` existence, rejects duplicates and concluded debates, enforces max rounds), `conclude(debateId)`. `validateRound`, `DEFAULT_MAX_DEBATE_ROUNDS = 10`.
|
|
14
|
+
- Minority opinion tracking: `MinorityOpinion` (id, problemId, analystId, position, reasoning, dissentReason), `MinorityOpinionTracker` with `record`, `getForProblem`, `getByAnalyst`, `get`, `list`, `size`; `validateMinorityOpinion`.
|
|
15
|
+
- Consensus building: `ConsensusBuilder(threshold)` with `build(problemId, analyses, conflicts, options)` returning `Consensus` (problemId, decision, confidence, supportingAnalystIds, dissentingAnalystIds, conflictsResolved, openIssues) or `null`. Weighted voting with `specialistWeight × confidence` per analysis. Optional `weights` map and `minorityAnalystIds` (added to dissenters). `DEFAULT_CONSENSUS_THRESHOLD = 0.6`.
|
|
16
|
+
- Review reports: `buildReport(input)` aggregates analyses, conflicts, debates, minority opinions, consensus, and recommendations into a `ReviewReport` (with computed `summary`). `serializeReport(report)` to pretty JSON. `summarizeReport(report)` to a single paragraph.
|
|
17
|
+
- Decision synthesis: `synthesize(problemId, consensus, analyses, conflicts, options)` returns a `Decision` (id, problemId, decision, rationale, confidence, consensusLevel, participants, generatedAt). `consensusLevel` is one of `unanimous` / `strong` / `majority` / `split` / `none`. `classifyConsensus(consensus, threshold)`, `DEFAULT_SYNTHESIS_THRESHOLD = 0.6`, `STRONG_CONSENSUS_RATIO = 0.8`.
|
|
18
|
+
- Shared text utilities (`src/util.ts`): `tokenize`, `tokenSet`, `jaccard`, `polarity`, `stem`, with `STOP_WORDS`, `POSITIVE_MARKERS`, `NEGATIVE_MARKERS` exported for tunability.
|
|
19
|
+
- Typed error hierarchy: `CouncilError` + 7 subclasses (`RoutingError`, `AnalysisError`, `ScoringError`, `ConflictError`, `DebateError`, `ConsensusError`, `SynthesisError`), each carrying a stable `code` string.
|
|
20
|
+
- Structured logging: `Logger`, `LogLevel`, `ConsoleLogger` (with secret scrubbing), `SilentLogger`, `scrubMetadata`, `shouldScrubField`, `SCRUBBED_FIELD_NAMES`.
|
|
21
|
+
- Comprehensive unit test suite: 121 tests covering all modules, the error hierarchy, logging, and a full end-to-end pipeline (route → analyse → detect conflicts → debate → record minority opinion → build consensus → synthesize decision → build report).
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
Apache License
|
|
3
|
-
Version 2.0, January 2004
|
|
4
|
-
http://www.apache.org/licenses/
|
|
5
|
-
|
|
6
|
-
Copyright 2024 Manya Hael Foundation. All rights reserved.
|
|
7
|
-
|
|
8
|
-
Conceived, directed, and owned by Uviwe Menyiwe (Azura Daemon),
|
|
9
|
-
founder of the Manya Hael Foundation.
|
|
10
|
-
|
|
11
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
you may not use this file except in compliance with the License.
|
|
13
|
-
You may obtain a copy of the License at
|
|
14
|
-
|
|
15
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
|
|
17
|
-
Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
See the License for the specific language governing permissions and
|
|
21
|
-
limitations under the License.
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
|
|
6
|
+
Copyright 2024 Manya Hael Foundation. All rights reserved.
|
|
7
|
+
|
|
8
|
+
Conceived, directed, and owned by Uviwe Menyiwe (Azura Daemon),
|
|
9
|
+
founder of the Manya Hael Foundation.
|
|
10
|
+
|
|
11
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
you may not use this file except in compliance with the License.
|
|
13
|
+
You may obtain a copy of the License at
|
|
14
|
+
|
|
15
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
|
|
17
|
+
Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
See the License for the specific language governing permissions and
|
|
21
|
+
limitations under the License.
|
package/README.md
CHANGED
|
@@ -1,244 +1,244 @@
|
|
|
1
|
-
# @manya/council
|
|
2
|
-
|
|
3
|
-
> Multi-agent consensus engine for the MANYA Intelligence OS — specialist routing, independent analyses, weighted confidence scoring, conflict detection, structured debate, minority opinions, consensus building, review reports, and final decision synthesis.
|
|
4
|
-
|
|
5
|
-
`@manya/council` is the deliberation layer of the **MANYA Intelligence OS** — a sovereign, modular, local-first intelligence operating system conceived, directed, and owned by **Uviwe Menyiwe (Azura Daemon)**, founder of the **Manya Hael Foundation**.
|
|
6
|
-
|
|
7
|
-
The package provides a small, dependency-free council engine that routes a problem to specialists, collects their independent analyses, scores them with weighted confidence, detects conflicts (opposing conclusions, factual contradictions, divergent reasoning), facilitates structured debate, records minority opinions, builds consensus via weighted voting, produces a review report, and synthesizes a final defensible decision. Every step is deterministic and explainable.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Vision
|
|
12
|
-
|
|
13
|
-
The Manya Hael Foundation stewards the MANYA Intelligence OS as a long-horizon, mission-driven project. `@manya/council` extends that sovereignty into the deliberation domain: **your specialists, your weights, your threshold — your decision, auditable and reproducible.**
|
|
14
|
-
|
|
15
|
-
- **Sovereign.** No network calls. Every routing decision, score, and consensus is computed locally.
|
|
16
|
-
- **Deterministic.** Identical inputs produce identical outputs. Tokenization, polarity inference, and severity classification are all rule-based.
|
|
17
|
-
- **Explainable.** Every conflict carries a description and severity; every decision carries a rationale and a `consensusLevel`.
|
|
18
|
-
- **Layered.** Route → analyse → score → detect conflicts → debate → build consensus → report → synthesise. Use any subset or wire them all together.
|
|
19
|
-
- **Dissent-aware.** Minority opinions are first-class records, preserved alongside the consensus for future reconsideration.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Features
|
|
24
|
-
|
|
25
|
-
| Area | What you get |
|
|
26
|
-
| --- | --- |
|
|
27
|
-
| **Specialist routing** | `Specialist` (id, name, expertise[], weight), `SpecialistRegistry`. `route(problem, specialists)` returns ranked specialists by Jaccard token-overlap. `routeAll(problem)` returns all specialists with scores. |
|
|
28
|
-
| **Analysis collection** | `Analysis` (id, specialistId, problemId, content, confidence, reasoning, caveats?). `AnalysisCollector` with `submit`, `getAll(problemId)`, `getBySpecialist(specialistId)`. |
|
|
29
|
-
| **Weighted scoring** | `scoreAnalysis(analysis, specialistWeight)` → weighted score. `aggregateScores(analyses, weights)` → weighted mean + variance + stddev. `detectOutliers(analyses, threshold)` → analyses whose confidence deviates from the median. |
|
|
30
|
-
| **Conflict detection** | `ConflictDetector.detect(analyses)` returns conflicts of 3 types: `opposing_conclusion` (both > 0.6, opposite polarity), `factual_contradiction` (≥ 0.3 content overlap + opposite polarity), `divergent_reasoning` (same polarity, < 0.2 reasoning overlap). Severity based on confidence gap and analyst count. |
|
|
31
|
-
| **Structured debate** | `DebateFacilitator.open(problemId, conflictIds)`, `submitRound(debateId, round)` (with optional `rebuttalTo`), `conclude(debateId)`. Enforces max rounds and rebuttal-target existence. |
|
|
32
|
-
| **Minority opinions** | `MinorityOpinionTracker` with `record`, `getForProblem`, `getByAnalyst`. Preserves dissent for audit. |
|
|
33
|
-
| **Consensus building** | `ConsensusBuilder.build(problemId, analyses, conflicts, options)` returns `Consensus` (decision, confidence, supporting/dissenting analyst ids, conflictsResolved, openIssues) or `null`. Threshold configurable (default 0.6). Weighted voting + confidence weighting. |
|
|
34
|
-
| **Review reports** | `buildReport(...)` aggregates analyses, conflicts, debates, minority opinions, consensus, recommendations into a `ReviewReport`. `serializeReport` to JSON, `summarizeReport` to a paragraph. |
|
|
35
|
-
| **Decision synthesis** | `synthesize(problemId, consensus, analyses, conflicts, options)` returns a `Decision` with `consensusLevel` (`unanimous` / `strong` / `majority` / `split` / `none`), explicit confidence, and rationale. |
|
|
36
|
-
| **Logging** | `Logger` interface, `ConsoleLogger` with secret-scrubbing, `SilentLogger`. |
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Install
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npm install @manya/council
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Requires Node.js 18+.
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Quick start
|
|
51
|
-
|
|
52
|
-
### 1. Route a problem to specialists
|
|
53
|
-
|
|
54
|
-
```ts
|
|
55
|
-
import { SpecialistRegistry } from '@manya/council';
|
|
56
|
-
|
|
57
|
-
const registry = new SpecialistRegistry()
|
|
58
|
-
.register({ id: 'sec', name: 'Security', expertise: ['security', 'crypto'], weight: 2 })
|
|
59
|
-
.register({ id: 'fin', name: 'Finance', expertise: ['finance', 'budget'], weight: 1 })
|
|
60
|
-
.register({ id: 'legal', name: 'Legal', expertise: ['legal', 'compliance'], weight: 1 });
|
|
61
|
-
|
|
62
|
-
const problem = {
|
|
63
|
-
id: 'p1',
|
|
64
|
-
description: 'Should we adopt the new crypto security audit proposal?',
|
|
65
|
-
domain: 'security',
|
|
66
|
-
createdAt: new Date().toISOString(),
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
const ranked = registry.route(problem);
|
|
70
|
-
console.log(ranked.map((s) => s.id)); // ['sec'] — sec has the strongest overlap
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### 2. Collect analyses, detect conflicts, build consensus
|
|
74
|
-
|
|
75
|
-
```ts
|
|
76
|
-
import { AnalysisCollector, ConflictDetector, ConsensusBuilder } from '@manya/council';
|
|
77
|
-
|
|
78
|
-
const collector = new AnalysisCollector();
|
|
79
|
-
collector.submit({
|
|
80
|
-
id: 'a-sec', specialistId: 'sec', problemId: 'p1',
|
|
81
|
-
content: 'I recommend we adopt the proposal; the security is sound.',
|
|
82
|
-
confidence: 0.9, reasoning: 'Audit passed; risks are mitigated.',
|
|
83
|
-
});
|
|
84
|
-
collector.submit({
|
|
85
|
-
id: 'a-fin', specialistId: 'fin', problemId: 'p1',
|
|
86
|
-
content: 'I support the proposal; the budget is sufficient.',
|
|
87
|
-
confidence: 0.8, reasoning: 'Funds are allocated for this quarter.',
|
|
88
|
-
});
|
|
89
|
-
collector.submit({
|
|
90
|
-
id: 'a-legal', specialistId: 'legal', problemId: 'p1',
|
|
91
|
-
content: 'I reject the proposal; compliance is incomplete.',
|
|
92
|
-
confidence: 0.85, reasoning: 'Regulatory review is pending.',
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
const analyses = collector.getAll('p1');
|
|
96
|
-
const conflicts = new ConflictDetector().detect(analyses);
|
|
97
|
-
console.log(conflicts.map((c) => c.type)); // ['opposing_conclusion', ...]
|
|
98
|
-
|
|
99
|
-
const consensus = new ConsensusBuilder(0.6).build('p1', analyses, conflicts, {
|
|
100
|
-
weights: { sec: 5, fin: 1, legal: 1 },
|
|
101
|
-
});
|
|
102
|
-
// consensus.decision → 'Adopt the proposed action for problem p1.'
|
|
103
|
-
// consensus.confidence → > 0.6
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### 3. Synthesize a final decision and build a review report
|
|
107
|
-
|
|
108
|
-
```ts
|
|
109
|
-
import { synthesize, buildReport, serializeReport } from '@manya/council';
|
|
110
|
-
|
|
111
|
-
const decision = synthesize('p1', consensus, analyses, conflicts);
|
|
112
|
-
console.log(decision.consensusLevel); // 'strong' | 'majority' | …
|
|
113
|
-
console.log(decision.rationale); // human-readable explanation
|
|
114
|
-
|
|
115
|
-
const report = buildReport({
|
|
116
|
-
problemId: 'p1',
|
|
117
|
-
analyses,
|
|
118
|
-
conflicts,
|
|
119
|
-
consensus,
|
|
120
|
-
recommendations: ['Proceed with adoption', 'Complete compliance review post-hoc'],
|
|
121
|
-
});
|
|
122
|
-
console.log(serializeReport(report)); // pretty JSON
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### 4. Run a structured debate over a conflict
|
|
126
|
-
|
|
127
|
-
```ts
|
|
128
|
-
import { DebateFacilitator } from '@manya/council';
|
|
129
|
-
|
|
130
|
-
const facilitator = new DebateFacilitator();
|
|
131
|
-
const debate = facilitator.open('p1', conflicts.map((c) => c.id));
|
|
132
|
-
facilitator.submitRound(debate.id, {
|
|
133
|
-
id: 'r1', analystId: 'legal',
|
|
134
|
-
claim: 'Compliance review is incomplete.',
|
|
135
|
-
evidence: 'The regulatory checklist has open items.',
|
|
136
|
-
});
|
|
137
|
-
facilitator.submitRound(debate.id, {
|
|
138
|
-
id: 'r2', analystId: 'sec',
|
|
139
|
-
claim: 'Open items are advisory, not blocking.',
|
|
140
|
-
evidence: 'No mandatory controls are missing.',
|
|
141
|
-
rebuttalTo: 'r1',
|
|
142
|
-
});
|
|
143
|
-
facilitator.conclude(debate.id);
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## Configuration
|
|
149
|
-
|
|
150
|
-
### Consensus threshold
|
|
151
|
-
|
|
152
|
-
`new ConsensusBuilder(threshold)` accepts a threshold in `[0, 1]`. Default is `0.6`. The weighted support ratio of the winning polarity must be `≥ threshold` for a consensus to be returned; otherwise `build` returns `null`.
|
|
153
|
-
|
|
154
|
-
### Outlier threshold
|
|
155
|
-
|
|
156
|
-
`detectOutliers(analyses, threshold)` accepts an absolute deviation from the median. Default is `0.25` (`DEFAULT_OUTLIER_THRESHOLD`).
|
|
157
|
-
|
|
158
|
-
### Max debate rounds
|
|
159
|
-
|
|
160
|
-
`new DebateFacilitator(maxRounds)` accepts a positive integer. Default is `10` (`DEFAULT_MAX_DEBATE_ROUNDS`). `submitRound` throws `DebateError` once the limit is reached.
|
|
161
|
-
|
|
162
|
-
### Specialist weights
|
|
163
|
-
|
|
164
|
-
Specialist `weight` is a non-negative number. The scoring module uses `weight` as a multiplier on confidence: `weighted = confidence × weight`. The consensus builder uses an optional `weights` map (specialistId → weight) — when omitted, every specialist gets weight `1`.
|
|
165
|
-
|
|
166
|
-
### Polarity inference
|
|
167
|
-
|
|
168
|
-
The conflict detector and consensus builder infer each analysis's polarity (`'positive'` / `'negative'` / `'neutral'`) by counting keyword markers in the analysis's `content` after light stemming. See `POSITIVE_MARKERS` and `NEGATIVE_MARKERS` in `src/util.ts`.
|
|
169
|
-
|
|
170
|
-
### Conflict thresholds
|
|
171
|
-
|
|
172
|
-
| Constant | Default | Meaning |
|
|
173
|
-
| --- | --- | --- |
|
|
174
|
-
| `OPPOSING_CONFIDENCE_THRESHOLD` | `0.6` | Both analyses must have confidence > this for an `opposing_conclusion` conflict. |
|
|
175
|
-
| `FACTUAL_OVERLAP_THRESHOLD` | `0.3` | Content Jaccard ≥ this for a `factual_contradiction` conflict. |
|
|
176
|
-
| `DIVERGENT_REASONING_MAX_OVERLAP` | `0.2` | Reasoning Jaccard < this for a `divergent_reasoning` conflict. |
|
|
177
|
-
| `DIVERGENT_CONTENT_MIN_OVERLAP` | `0.1` | Content Jaccard > this for a `divergent_reasoning` conflict. |
|
|
178
|
-
| `SEVERITY_HIGH_GAP` | `0.5` | Confidence gap ≥ this (or 3+ analyses) → `'high'` severity. |
|
|
179
|
-
| `SEVERITY_MEDIUM_GAP` | `0.2` | Confidence gap ≥ this → `'medium'` severity; else `'low'`. |
|
|
180
|
-
|
|
181
|
-
### Consensus-level classification
|
|
182
|
-
|
|
183
|
-
`classifyConsensus(consensus, threshold)` returns:
|
|
184
|
-
|
|
185
|
-
| Level | Condition |
|
|
186
|
-
| --- | --- |
|
|
187
|
-
| `'none'` | consensus is `null`. |
|
|
188
|
-
| `'unanimous'` | no dissenting analysts. |
|
|
189
|
-
| `'strong'` | `consensus.confidence ≥ 0.8` (`STRONG_CONSENSUS_RATIO`). |
|
|
190
|
-
| `'majority'` | `consensus.confidence ≥ threshold` (default `0.6`). |
|
|
191
|
-
| `'split'` | consensus exists but confidence is below threshold. |
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Extending
|
|
196
|
-
|
|
197
|
-
### Add a new conflict type
|
|
198
|
-
|
|
199
|
-
1. Add the new value to `ConflictType` in `src/types.ts`.
|
|
200
|
-
2. Add the new value to `CONFLICT_TYPES` in `src/conflict/conflict.ts`.
|
|
201
|
-
3. Add a detection branch in `ConflictDetector.detect`.
|
|
202
|
-
4. Add unit tests in `tests/council.spec.ts` (in the `conflict` describe block).
|
|
203
|
-
5. Update `docs/API.md` and the README conflict-thresholds table.
|
|
204
|
-
|
|
205
|
-
### Add a new consensus level
|
|
206
|
-
|
|
207
|
-
1. Add the new value to `ConsensusLevel` in `src/types.ts`.
|
|
208
|
-
2. Update `classifyConsensus` in `src/synthesizer/synthesizer.ts`.
|
|
209
|
-
3. Add unit tests in `tests/council.spec.ts` (in the `synthesizer` describe block).
|
|
210
|
-
|
|
211
|
-
### Add a polarity marker
|
|
212
|
-
|
|
213
|
-
1. Add the word to `POSITIVE_MARKERS` or `NEGATIVE_MARKERS` in `src/util.ts`.
|
|
214
|
-
2. Add a test in `tests/council.spec.ts` covering an analysis that uses the new marker.
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## Security notes
|
|
219
|
-
|
|
220
|
-
- **Local-only.** No data leaves the host process. No network calls.
|
|
221
|
-
- **No `eval`.** Text analysis is keyword matching and Jaccard similarity; no code execution.
|
|
222
|
-
- **No PII in logs.** `taxId`, `secret`, `token`, `apiKey`, `password` are scrubbed by `ConsoleLogger`.
|
|
223
|
-
- **Deterministic.** Identical inputs produce identical outputs. Polarity inference, conflict ids, and severity classification are all rule-based.
|
|
224
|
-
- **Defense in depth.** Routing, analysis validation, scoring, conflict detection, debate validation, and consensus building each validate their inputs independently.
|
|
225
|
-
|
|
226
|
-
For threat models, see [SECURITY.md](./SECURITY.md) and the root [SECURITY.md](../../SECURITY.md).
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
## Documentation
|
|
231
|
-
|
|
232
|
-
- [docs/API.md](./docs/API.md) — full TypeScript API reference.
|
|
233
|
-
- [CHANGELOG.md](./CHANGELOG.md) — release history.
|
|
234
|
-
- [CONTRIBUTING.md](./CONTRIBUTING.md) — package-specific contributor notes.
|
|
235
|
-
- [SECURITY.md](./SECURITY.md) — package-specific security surface.
|
|
236
|
-
- [LICENSE](./LICENSE) — Apache-2.0.
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## License
|
|
241
|
-
|
|
242
|
-
Apache-2.0. Copyright 2024 Manya Hael Foundation. All rights reserved.
|
|
243
|
-
|
|
244
|
-
Conceived, directed, and owned by **Uviwe Menyiwe (Azura Daemon)**, founder of the Manya Hael Foundation.
|
|
1
|
+
# @manya-os/council
|
|
2
|
+
|
|
3
|
+
> Multi-agent consensus engine for the MANYA Intelligence OS — specialist routing, independent analyses, weighted confidence scoring, conflict detection, structured debate, minority opinions, consensus building, review reports, and final decision synthesis.
|
|
4
|
+
|
|
5
|
+
`@manya-os/council` is the deliberation layer of the **MANYA Intelligence OS** — a sovereign, modular, local-first intelligence operating system conceived, directed, and owned by **Uviwe Menyiwe (Azura Daemon)**, founder of the **Manya Hael Foundation**.
|
|
6
|
+
|
|
7
|
+
The package provides a small, dependency-free council engine that routes a problem to specialists, collects their independent analyses, scores them with weighted confidence, detects conflicts (opposing conclusions, factual contradictions, divergent reasoning), facilitates structured debate, records minority opinions, builds consensus via weighted voting, produces a review report, and synthesizes a final defensible decision. Every step is deterministic and explainable.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Vision
|
|
12
|
+
|
|
13
|
+
The Manya Hael Foundation stewards the MANYA Intelligence OS as a long-horizon, mission-driven project. `@manya-os/council` extends that sovereignty into the deliberation domain: **your specialists, your weights, your threshold — your decision, auditable and reproducible.**
|
|
14
|
+
|
|
15
|
+
- **Sovereign.** No network calls. Every routing decision, score, and consensus is computed locally.
|
|
16
|
+
- **Deterministic.** Identical inputs produce identical outputs. Tokenization, polarity inference, and severity classification are all rule-based.
|
|
17
|
+
- **Explainable.** Every conflict carries a description and severity; every decision carries a rationale and a `consensusLevel`.
|
|
18
|
+
- **Layered.** Route → analyse → score → detect conflicts → debate → build consensus → report → synthesise. Use any subset or wire them all together.
|
|
19
|
+
- **Dissent-aware.** Minority opinions are first-class records, preserved alongside the consensus for future reconsideration.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
|
|
25
|
+
| Area | What you get |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| **Specialist routing** | `Specialist` (id, name, expertise[], weight), `SpecialistRegistry`. `route(problem, specialists)` returns ranked specialists by Jaccard token-overlap. `routeAll(problem)` returns all specialists with scores. |
|
|
28
|
+
| **Analysis collection** | `Analysis` (id, specialistId, problemId, content, confidence, reasoning, caveats?). `AnalysisCollector` with `submit`, `getAll(problemId)`, `getBySpecialist(specialistId)`. |
|
|
29
|
+
| **Weighted scoring** | `scoreAnalysis(analysis, specialistWeight)` → weighted score. `aggregateScores(analyses, weights)` → weighted mean + variance + stddev. `detectOutliers(analyses, threshold)` → analyses whose confidence deviates from the median. |
|
|
30
|
+
| **Conflict detection** | `ConflictDetector.detect(analyses)` returns conflicts of 3 types: `opposing_conclusion` (both > 0.6, opposite polarity), `factual_contradiction` (≥ 0.3 content overlap + opposite polarity), `divergent_reasoning` (same polarity, < 0.2 reasoning overlap). Severity based on confidence gap and analyst count. |
|
|
31
|
+
| **Structured debate** | `DebateFacilitator.open(problemId, conflictIds)`, `submitRound(debateId, round)` (with optional `rebuttalTo`), `conclude(debateId)`. Enforces max rounds and rebuttal-target existence. |
|
|
32
|
+
| **Minority opinions** | `MinorityOpinionTracker` with `record`, `getForProblem`, `getByAnalyst`. Preserves dissent for audit. |
|
|
33
|
+
| **Consensus building** | `ConsensusBuilder.build(problemId, analyses, conflicts, options)` returns `Consensus` (decision, confidence, supporting/dissenting analyst ids, conflictsResolved, openIssues) or `null`. Threshold configurable (default 0.6). Weighted voting + confidence weighting. |
|
|
34
|
+
| **Review reports** | `buildReport(...)` aggregates analyses, conflicts, debates, minority opinions, consensus, recommendations into a `ReviewReport`. `serializeReport` to JSON, `summarizeReport` to a paragraph. |
|
|
35
|
+
| **Decision synthesis** | `synthesize(problemId, consensus, analyses, conflicts, options)` returns a `Decision` with `consensusLevel` (`unanimous` / `strong` / `majority` / `split` / `none`), explicit confidence, and rationale. |
|
|
36
|
+
| **Logging** | `Logger` interface, `ConsoleLogger` with secret-scrubbing, `SilentLogger`. |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Install
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npm install @manya-os/council
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Requires Node.js 18+.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Quick start
|
|
51
|
+
|
|
52
|
+
### 1. Route a problem to specialists
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
import { SpecialistRegistry } from '@manya-os/council';
|
|
56
|
+
|
|
57
|
+
const registry = new SpecialistRegistry()
|
|
58
|
+
.register({ id: 'sec', name: 'Security', expertise: ['security', 'crypto'], weight: 2 })
|
|
59
|
+
.register({ id: 'fin', name: 'Finance', expertise: ['finance', 'budget'], weight: 1 })
|
|
60
|
+
.register({ id: 'legal', name: 'Legal', expertise: ['legal', 'compliance'], weight: 1 });
|
|
61
|
+
|
|
62
|
+
const problem = {
|
|
63
|
+
id: 'p1',
|
|
64
|
+
description: 'Should we adopt the new crypto security audit proposal?',
|
|
65
|
+
domain: 'security',
|
|
66
|
+
createdAt: new Date().toISOString(),
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const ranked = registry.route(problem);
|
|
70
|
+
console.log(ranked.map((s) => s.id)); // ['sec'] — sec has the strongest overlap
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 2. Collect analyses, detect conflicts, build consensus
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import { AnalysisCollector, ConflictDetector, ConsensusBuilder } from '@manya-os/council';
|
|
77
|
+
|
|
78
|
+
const collector = new AnalysisCollector();
|
|
79
|
+
collector.submit({
|
|
80
|
+
id: 'a-sec', specialistId: 'sec', problemId: 'p1',
|
|
81
|
+
content: 'I recommend we adopt the proposal; the security is sound.',
|
|
82
|
+
confidence: 0.9, reasoning: 'Audit passed; risks are mitigated.',
|
|
83
|
+
});
|
|
84
|
+
collector.submit({
|
|
85
|
+
id: 'a-fin', specialistId: 'fin', problemId: 'p1',
|
|
86
|
+
content: 'I support the proposal; the budget is sufficient.',
|
|
87
|
+
confidence: 0.8, reasoning: 'Funds are allocated for this quarter.',
|
|
88
|
+
});
|
|
89
|
+
collector.submit({
|
|
90
|
+
id: 'a-legal', specialistId: 'legal', problemId: 'p1',
|
|
91
|
+
content: 'I reject the proposal; compliance is incomplete.',
|
|
92
|
+
confidence: 0.85, reasoning: 'Regulatory review is pending.',
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
const analyses = collector.getAll('p1');
|
|
96
|
+
const conflicts = new ConflictDetector().detect(analyses);
|
|
97
|
+
console.log(conflicts.map((c) => c.type)); // ['opposing_conclusion', ...]
|
|
98
|
+
|
|
99
|
+
const consensus = new ConsensusBuilder(0.6).build('p1', analyses, conflicts, {
|
|
100
|
+
weights: { sec: 5, fin: 1, legal: 1 },
|
|
101
|
+
});
|
|
102
|
+
// consensus.decision → 'Adopt the proposed action for problem p1.'
|
|
103
|
+
// consensus.confidence → > 0.6
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 3. Synthesize a final decision and build a review report
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
import { synthesize, buildReport, serializeReport } from '@manya-os/council';
|
|
110
|
+
|
|
111
|
+
const decision = synthesize('p1', consensus, analyses, conflicts);
|
|
112
|
+
console.log(decision.consensusLevel); // 'strong' | 'majority' | …
|
|
113
|
+
console.log(decision.rationale); // human-readable explanation
|
|
114
|
+
|
|
115
|
+
const report = buildReport({
|
|
116
|
+
problemId: 'p1',
|
|
117
|
+
analyses,
|
|
118
|
+
conflicts,
|
|
119
|
+
consensus,
|
|
120
|
+
recommendations: ['Proceed with adoption', 'Complete compliance review post-hoc'],
|
|
121
|
+
});
|
|
122
|
+
console.log(serializeReport(report)); // pretty JSON
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### 4. Run a structured debate over a conflict
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
import { DebateFacilitator } from '@manya-os/council';
|
|
129
|
+
|
|
130
|
+
const facilitator = new DebateFacilitator();
|
|
131
|
+
const debate = facilitator.open('p1', conflicts.map((c) => c.id));
|
|
132
|
+
facilitator.submitRound(debate.id, {
|
|
133
|
+
id: 'r1', analystId: 'legal',
|
|
134
|
+
claim: 'Compliance review is incomplete.',
|
|
135
|
+
evidence: 'The regulatory checklist has open items.',
|
|
136
|
+
});
|
|
137
|
+
facilitator.submitRound(debate.id, {
|
|
138
|
+
id: 'r2', analystId: 'sec',
|
|
139
|
+
claim: 'Open items are advisory, not blocking.',
|
|
140
|
+
evidence: 'No mandatory controls are missing.',
|
|
141
|
+
rebuttalTo: 'r1',
|
|
142
|
+
});
|
|
143
|
+
facilitator.conclude(debate.id);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Configuration
|
|
149
|
+
|
|
150
|
+
### Consensus threshold
|
|
151
|
+
|
|
152
|
+
`new ConsensusBuilder(threshold)` accepts a threshold in `[0, 1]`. Default is `0.6`. The weighted support ratio of the winning polarity must be `≥ threshold` for a consensus to be returned; otherwise `build` returns `null`.
|
|
153
|
+
|
|
154
|
+
### Outlier threshold
|
|
155
|
+
|
|
156
|
+
`detectOutliers(analyses, threshold)` accepts an absolute deviation from the median. Default is `0.25` (`DEFAULT_OUTLIER_THRESHOLD`).
|
|
157
|
+
|
|
158
|
+
### Max debate rounds
|
|
159
|
+
|
|
160
|
+
`new DebateFacilitator(maxRounds)` accepts a positive integer. Default is `10` (`DEFAULT_MAX_DEBATE_ROUNDS`). `submitRound` throws `DebateError` once the limit is reached.
|
|
161
|
+
|
|
162
|
+
### Specialist weights
|
|
163
|
+
|
|
164
|
+
Specialist `weight` is a non-negative number. The scoring module uses `weight` as a multiplier on confidence: `weighted = confidence × weight`. The consensus builder uses an optional `weights` map (specialistId → weight) — when omitted, every specialist gets weight `1`.
|
|
165
|
+
|
|
166
|
+
### Polarity inference
|
|
167
|
+
|
|
168
|
+
The conflict detector and consensus builder infer each analysis's polarity (`'positive'` / `'negative'` / `'neutral'`) by counting keyword markers in the analysis's `content` after light stemming. See `POSITIVE_MARKERS` and `NEGATIVE_MARKERS` in `src/util.ts`.
|
|
169
|
+
|
|
170
|
+
### Conflict thresholds
|
|
171
|
+
|
|
172
|
+
| Constant | Default | Meaning |
|
|
173
|
+
| --- | --- | --- |
|
|
174
|
+
| `OPPOSING_CONFIDENCE_THRESHOLD` | `0.6` | Both analyses must have confidence > this for an `opposing_conclusion` conflict. |
|
|
175
|
+
| `FACTUAL_OVERLAP_THRESHOLD` | `0.3` | Content Jaccard ≥ this for a `factual_contradiction` conflict. |
|
|
176
|
+
| `DIVERGENT_REASONING_MAX_OVERLAP` | `0.2` | Reasoning Jaccard < this for a `divergent_reasoning` conflict. |
|
|
177
|
+
| `DIVERGENT_CONTENT_MIN_OVERLAP` | `0.1` | Content Jaccard > this for a `divergent_reasoning` conflict. |
|
|
178
|
+
| `SEVERITY_HIGH_GAP` | `0.5` | Confidence gap ≥ this (or 3+ analyses) → `'high'` severity. |
|
|
179
|
+
| `SEVERITY_MEDIUM_GAP` | `0.2` | Confidence gap ≥ this → `'medium'` severity; else `'low'`. |
|
|
180
|
+
|
|
181
|
+
### Consensus-level classification
|
|
182
|
+
|
|
183
|
+
`classifyConsensus(consensus, threshold)` returns:
|
|
184
|
+
|
|
185
|
+
| Level | Condition |
|
|
186
|
+
| --- | --- |
|
|
187
|
+
| `'none'` | consensus is `null`. |
|
|
188
|
+
| `'unanimous'` | no dissenting analysts. |
|
|
189
|
+
| `'strong'` | `consensus.confidence ≥ 0.8` (`STRONG_CONSENSUS_RATIO`). |
|
|
190
|
+
| `'majority'` | `consensus.confidence ≥ threshold` (default `0.6`). |
|
|
191
|
+
| `'split'` | consensus exists but confidence is below threshold. |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Extending
|
|
196
|
+
|
|
197
|
+
### Add a new conflict type
|
|
198
|
+
|
|
199
|
+
1. Add the new value to `ConflictType` in `src/types.ts`.
|
|
200
|
+
2. Add the new value to `CONFLICT_TYPES` in `src/conflict/conflict.ts`.
|
|
201
|
+
3. Add a detection branch in `ConflictDetector.detect`.
|
|
202
|
+
4. Add unit tests in `tests/council.spec.ts` (in the `conflict` describe block).
|
|
203
|
+
5. Update `docs/API.md` and the README conflict-thresholds table.
|
|
204
|
+
|
|
205
|
+
### Add a new consensus level
|
|
206
|
+
|
|
207
|
+
1. Add the new value to `ConsensusLevel` in `src/types.ts`.
|
|
208
|
+
2. Update `classifyConsensus` in `src/synthesizer/synthesizer.ts`.
|
|
209
|
+
3. Add unit tests in `tests/council.spec.ts` (in the `synthesizer` describe block).
|
|
210
|
+
|
|
211
|
+
### Add a polarity marker
|
|
212
|
+
|
|
213
|
+
1. Add the word to `POSITIVE_MARKERS` or `NEGATIVE_MARKERS` in `src/util.ts`.
|
|
214
|
+
2. Add a test in `tests/council.spec.ts` covering an analysis that uses the new marker.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Security notes
|
|
219
|
+
|
|
220
|
+
- **Local-only.** No data leaves the host process. No network calls.
|
|
221
|
+
- **No `eval`.** Text analysis is keyword matching and Jaccard similarity; no code execution.
|
|
222
|
+
- **No PII in logs.** `taxId`, `secret`, `token`, `apiKey`, `password` are scrubbed by `ConsoleLogger`.
|
|
223
|
+
- **Deterministic.** Identical inputs produce identical outputs. Polarity inference, conflict ids, and severity classification are all rule-based.
|
|
224
|
+
- **Defense in depth.** Routing, analysis validation, scoring, conflict detection, debate validation, and consensus building each validate their inputs independently.
|
|
225
|
+
|
|
226
|
+
For threat models, see [SECURITY.md](./SECURITY.md) and the root [SECURITY.md](../../SECURITY.md).
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Documentation
|
|
231
|
+
|
|
232
|
+
- [docs/API.md](./docs/API.md) — full TypeScript API reference.
|
|
233
|
+
- [CHANGELOG.md](./CHANGELOG.md) — release history.
|
|
234
|
+
- [CONTRIBUTING.md](./CONTRIBUTING.md) — package-specific contributor notes.
|
|
235
|
+
- [SECURITY.md](./SECURITY.md) — package-specific security surface.
|
|
236
|
+
- [LICENSE](./LICENSE) — Apache-2.0.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## License
|
|
241
|
+
|
|
242
|
+
Apache-2.0. Copyright 2024 Manya Hael Foundation. All rights reserved.
|
|
243
|
+
|
|
244
|
+
Conceived, directed, and owned by **Uviwe Menyiwe (Azura Daemon)**, founder of the Manya Hael Foundation.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../src/errors.ts","../src/logging.ts","../src/types.ts","../src/util.ts","../src/router/router.ts","../src/analysis/analysis.ts","../src/scoring/scoring.ts","../src/conflict/conflict.ts","../src/debate/debate.ts","../src/minority/minority.ts","../src/consensus/consensus.ts","../src/reports/reports.ts","../src/synthesizer/synthesizer.ts","../src/index.ts","../src/analysis/index.ts","../src/conflict/index.ts","../src/consensus/index.ts","../src/debate/index.ts","../src/minority/index.ts","../src/reports/index.ts","../src/router/index.ts","../src/scoring/index.ts","../src/synthesizer/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/pg-types/index.d.ts","../../../node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/@types/pg/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[87,99,145],[99,145],[99,145,200],[87,88,89,90,91,99,145],[87,89,99,145],[99,145,157,193],[99,145,195],[99,145,196],[99,145,202,205],[99,142,145],[99,144,145],[145],[99,145,150,178],[99,145,146,151,156,164,175,186],[99,145,146,147,156,164],[94,95,96,99,145],[99,145,148,187],[99,145,149,150,157,165],[99,145,150,175,183],[99,145,151,153,156,164],[99,144,145,152],[99,145,153,154],[99,145,155,156],[99,144,145,156],[99,145,156,157,158,175,186],[99,145,156,157,158,171,175,178],[99,145,153,156,159,164,175,186],[99,145,156,157,159,160,164,175,183,186],[99,145,159,161,175,183,186],[97,98,99,100,101,102,103,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192],[99,145,156,162],[99,145,163,186,191],[99,145,153,156,164,175],[99,145,165],[99,145,166],[99,144,145,167],[99,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192],[99,145,169],[99,145,170],[99,145,156,171,172],[99,145,171,173,187,189],[99,145,156,175,176,178],[99,145,177,178],[99,145,175,176],[99,145,178],[99,145,179],[99,142,145,175,180],[99,145,156,181,182],[99,145,181,182],[99,145,150,164,175,183],[99,145,184],[99,145,164,185],[99,145,159,170,186],[99,145,150,187],[99,145,175,188],[99,145,163,189],[99,145,190],[99,140,145],[99,140,145,156,158,167,175,178,186,189,191],[99,145,175,192],[99,145,156,175,183,193,208,209,212,213,214],[99,145,214],[99,145,217],[99,145,198,204],[99,145,202],[99,145,199,203],[99,145,209,210,211],[99,145,175,209],[99,145,201],[99,112,116,145,186],[99,112,145,175,186],[99,107,145],[99,109,112,145,183,186],[99,145,164,183],[99,145,193],[99,107,145,193],[99,109,112,145,164,186],[99,104,105,108,111,145,156,175,186],[99,112,119,145],[99,104,110,145],[99,112,133,134,145],[99,108,112,145,178,186,193],[99,133,145,193],[99,106,107,145,193],[99,112,145],[99,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,145],[99,112,127,145],[99,112,119,120,145],[99,110,112,120,121,145],[99,111,145],[99,104,107,112,145],[99,112,116,120,121,145],[99,116,145],[99,110,112,115,145,186],[99,104,109,112,119,145],[99,145,175],[99,107,112,133,145,191,193],[64,66,99,145],[69,99,145],[64,66,67,99,145],[71,99,145],[74,99,145],[72,99,145],[64,65,66,68,69,70,71,72,73,74,75,76,99,145],[73,99,145],[75,99,145],[68,99,145],[70,99,145],[76,99,145],[65,99,145]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"681db68490ad7c3f29888b8f21e858ad8afcc19f25829f97f83de7f8cebd1a77","signature":"d04f062e1ffbfd9050d8e40f7aa6fb0f80934df9588aed07422e48c9733ca132"},{"version":"69809f9a6d02699b329fa159258780a03bff5dc31d71b9c8d8323e5f18a8a489","signature":"5bd14e0a89ca457eeb6bf06364745af8b8886d0237790cc75978373f4a960d37"},{"version":"9a04e39b92b448482bb143ca36a7b0197b08062f168cec06174d5f2da7db86a1","signature":"9afe5a5ab5152bce7f2f270233fa7c67862b0ca52e84ea558714da83509be919"},{"version":"14015c6e87751e795ba3630f19a0f7002c3fb28b5fd535cd18339e540679a1bf","signature":"75d392827db342b4271a7e57da2463307a002fb30f1ec6f744c5abf6a8ee93a9"},{"version":"00c075a13a0f7f3303b6a9178489f01d70ab5f5079f59bbce5ea57d5d00b9bc3","signature":"c77a5fdf1a7c688bbdc4e90f94e60daf58aa12d5f9483a2c837a3f34fcc99fec"},{"version":"f4d95a3cebd653ca509ab35d1e554edc393a2b8176b7c48e519c582fcbdaec7a","signature":"e3ac2af001d00adb834013ca309df86ef4325d862439e4c2b9a739dad5cb4fbe"},{"version":"2c6fc435d7b5d34a852723e0e2a5b1cd855ff9bfbb726cbe46d18967e3d4bd31","signature":"65fdc10953784604e9b2f64a9d0d9ba72438f08021e817dcf0f6ee0d7ebe1028"},{"version":"b23b7711d713b5e3c992ddc02a6c84ad093324efab976fd22daa0c3ed40c3fd4","signature":"a431931066a5a37aab45ebdde30037251b9187f0253963cefc0704e655ce1ab9"},{"version":"e373173f8558b78d59f3fd0f53ffbed9940e85726b36e10f7983517f82135a34","signature":"a5e31a5b93fd546216cb76d04469895670db244eabcbe0c8f1d41b15c8a2bccd"},{"version":"3b429a3cd5cf54b2a56dd82bf4f0ae48e3d793b48a7fdb931de5e3df74154389","signature":"4577482d8b5e6555d8ea369f1ae33f61c17906993697c78b078de8dc8a21bdfe"},{"version":"fc29642b736199e7eab377ea1b2e632ee462486233164b2355c6179a08f1bfc1","signature":"80cdb26c4c32b994ba75b0826860b55d867a16b51e7e4803aa263bddf3cc8386"},{"version":"abf0b3a41aea45166723104c1255a4925af01d412856dee82f4177f7e0692f61","signature":"5aa8738bdca8b0876706a491e7d973b264288cf221bf31bce3b5da034ad05ef6"},{"version":"59e9854491a95a9ab077d83462180a7deeeb28bdbf41a58431e5d6be5c104d55","signature":"256ab6b39c7c7765b4c97c648b3f893827da3e2ea73e5f3986f046bde5868789"},{"version":"0186e27c8433ab46a6026aa5556ce5ea5ca04e384b0db9fd1236002000b29545","signature":"3f71d0e3cbfd8d0c34b98cb2bfeec5466a7071bcf7ec44260cd0673ed0136376"},{"version":"4f6ad584449c437440c64dcdcb2eafc846f4107820ead7ba79b09706a91bc0a7","signature":"63cefb9645948d3748067a01d0c15c5e7a8422e52649ad0c685340e6f8377d17"},{"version":"353cd43fc8e03ffc3d3395148b3815443386b74941c05dd8dbefc3c6cd1218b9","signature":"263e736dac79cc70219f7716dfe919b79f11168b94be7d04e526b1b885df412c"},{"version":"39eb89370a2d4924b80dc2ce9ce3907d36538e8abff1ab3e10c5f9d6b16f4710","signature":"1b85e04057b4c429e88609d28965fea87c24dfffeec9fc705f0052f374b75786"},{"version":"4dce41a4187c360289d372f186957a338da6f9c4952f3bf24d1f77415aa90ac5","signature":"026e76b483febc8a51695a34c5b554e3ab5d73fa21024890b1037a464f04a154"},{"version":"2aea67ce5876a320957686aa7e9229b22ed2cf826d0fd5f0bfa87697a06b9f12","signature":"efedd8fa0b8a7534b725f45cfd0515c67e456e97a24a2c543bba139f2778ef13"},{"version":"8f5e0841043c0cd7d02bf84b77ae5b0dec2e10342dfb1efe05ca3616811f40be","signature":"dad7305a09adb5acdd5d645bac4e95bb157e34da7f878114800ae74c2cce2782"},{"version":"845d90e9c1927c9adaa88e130d03bd8a85c07154be7eed2093f26d72093fbae3","signature":"175fae1defcbc26b74e9befcdfc698e43979f4d19bcb5ac474af3b67c5486a69"},{"version":"35a2dde23c259a25c17ff98e9d1bfcf03993c54ac9ce2a2043c3e6ba3dda766a","signature":"e32824d54e9b6a0942fc216c4c88cdb5606e963c9ffc3a638929f7f0f6fa3466"},{"version":"aa8bbec54eaebe230b2f85e0eb322a3101bd4b97bdb4dc2a6e1e1f0b27154fdb","signature":"0ab296d3f158dfe1a524bb7a9ba3f67a7b8cd9c04fbb8ea1257233b9b21831e6"},{"version":"556ccd493ec36c7d7cb130d51be66e147b91cc1415be383d71da0f1e49f742a9","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"95aba78013d782537cc5e23868e736bec5d377b918990e28ed56110e3ae8b958","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"1123a83f35cf56c97de746f0a7250012153c61a167e4a61668bf50e558162d14","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"e1028394c1cf96d5d057ecc647e31e457b919092f882ed0c7092152b077fed9d","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"4a20a0a39aca8738cc5088f9dea2969bf2af3ca1341c56071f513059b122d150","impliedFormat":1},{"version":"a33c98f95c099c2a9a383b156c8f2a16605843d29455a954c1431bcbbc1ce35a","impliedFormat":1},{"version":"effa1fd4980f6dff4e81ed67009b847d34449087504319f9a0dd081e8cf23a31","impliedFormat":1},{"version":"c2c9f431f788b434e6ae327844ef6712bb6a6a88ad08acf20bf6cfeb41d154ba","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"67f3d03f61a43f045851624e52ec438803ecf5d2247660f208bd9bcadb6ff298","impliedFormat":1},{"version":"8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[[64,86]],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"outDir":"./types","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":9},"referencedMap":[[89,1],[87,2],[198,2],[201,3],[200,2],[92,4],[88,1],[90,5],[91,1],[93,2],[194,6],[195,2],[196,7],[197,8],[206,9],[207,2],[142,10],[143,10],[144,11],[99,12],[145,13],[146,14],[147,15],[94,2],[97,16],[95,2],[96,2],[148,17],[149,18],[150,19],[151,20],[152,21],[153,22],[154,22],[155,23],[156,24],[157,25],[158,26],[100,2],[98,2],[159,27],[160,28],[161,29],[193,30],[162,31],[163,32],[164,33],[165,34],[166,35],[167,36],[168,37],[169,38],[170,39],[171,40],[172,40],[173,41],[174,2],[175,42],[177,43],[176,44],[178,45],[179,46],[180,47],[181,48],[182,49],[183,50],[184,51],[185,52],[186,53],[187,54],[188,55],[189,56],[190,57],[101,2],[102,2],[103,2],[141,58],[191,59],[192,60],[214,61],[213,62],[215,2],[216,2],[217,2],[218,63],[199,2],[205,64],[203,65],[204,66],[212,67],[209,2],[211,68],[210,2],[208,2],[202,69],[61,2],[62,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[63,2],[57,2],[58,2],[60,2],[59,2],[1,2],[14,2],[13,2],[119,70],[129,71],[118,70],[139,72],[110,73],[109,74],[138,75],[132,76],[137,77],[112,78],[126,79],[111,80],[135,81],[107,82],[106,75],[136,83],[108,84],[113,85],[114,2],[117,85],[104,2],[140,86],[130,87],[121,88],[122,89],[124,90],[120,91],[123,92],[133,75],[115,93],[116,94],[125,95],[105,96],[128,87],[127,85],[131,2],[134,97],[69,98],[78,99],[71,100],[79,101],[74,100],[80,102],[72,98],[81,103],[64,2],[77,104],[65,2],[82,105],[73,98],[83,106],[75,98],[84,107],[68,100],[85,108],[70,98],[86,109],[76,98],[66,110],[67,2]],"latestChangedDtsFile":"./types/synthesizer/index.d.ts","version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@manya-os/council",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Multi-agent consensus engine for the MANYA Intelligence OS — specialist routing, independent analyses, weighted confidence scoring, conflict detection, structured debate, minority opinions, consensus building, review reports, and final decision synthesis.",
|
|
5
|
-
"main": "dist/cjs/index.js",
|
|
6
|
-
"types": "dist/types/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "node ../../scripts/build-package.js council",
|
|
9
|
-
"test": "jest",
|
|
10
|
-
"clean": "rm -rf dist build node_modules",
|
|
11
|
-
"build:types": "node ../../scripts/build-types.js council",
|
|
12
|
-
"build:bundle": "node ../../scripts/build-package.js council --no-types && node ../../scripts/build-types.js council"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [
|
|
15
|
-
"manya",
|
|
16
|
-
"council",
|
|
17
|
-
"multi-agent",
|
|
18
|
-
"consensus",
|
|
19
|
-
"debate",
|
|
20
|
-
"specialist",
|
|
21
|
-
"routing",
|
|
22
|
-
"conflict-detection",
|
|
23
|
-
"minority-opinion",
|
|
24
|
-
"decision-synthesis",
|
|
25
|
-
"agent-council"
|
|
26
|
-
],
|
|
27
|
-
"author": "Uviwe Menyiwe (Azura Daemon) <foundation@manyahael.org>",
|
|
28
|
-
"license": "Apache-2.0",
|
|
29
|
-
"dependencies": {},
|
|
30
|
-
"devDependencies": {},
|
|
31
|
-
"module": "dist/esm/index.mjs",
|
|
32
|
-
"exports": {
|
|
33
|
-
".": {
|
|
34
|
-
"types": "./dist/types/index.d.ts",
|
|
35
|
-
"require": "./dist/cjs/index.js",
|
|
36
|
-
"import": "./dist/esm/index.mjs",
|
|
37
|
-
"default": "./dist/cjs/index.js"
|
|
38
|
-
},
|
|
39
|
-
"./package.json": "./package.json"
|
|
40
|
-
},
|
|
41
|
-
"sideEffects": false,
|
|
42
|
-
"files": [
|
|
43
|
-
"dist",
|
|
44
|
-
"README.md",
|
|
45
|
-
"CHANGELOG.md",
|
|
46
|
-
"LICENSE"
|
|
47
|
-
]
|
|
48
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@manya-os/council",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Multi-agent consensus engine for the MANYA Intelligence OS — specialist routing, independent analyses, weighted confidence scoring, conflict detection, structured debate, minority opinions, consensus building, review reports, and final decision synthesis.",
|
|
5
|
+
"main": "dist/cjs/index.js",
|
|
6
|
+
"types": "dist/types/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "node ../../scripts/build-package.js council",
|
|
9
|
+
"test": "jest --config ../../jest.config.js",
|
|
10
|
+
"clean": "rm -rf dist build node_modules",
|
|
11
|
+
"build:types": "node ../../scripts/build-types.js council",
|
|
12
|
+
"build:bundle": "node ../../scripts/build-package.js council --no-types && node ../../scripts/build-types.js council"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"manya",
|
|
16
|
+
"council",
|
|
17
|
+
"multi-agent",
|
|
18
|
+
"consensus",
|
|
19
|
+
"debate",
|
|
20
|
+
"specialist",
|
|
21
|
+
"routing",
|
|
22
|
+
"conflict-detection",
|
|
23
|
+
"minority-opinion",
|
|
24
|
+
"decision-synthesis",
|
|
25
|
+
"agent-council"
|
|
26
|
+
],
|
|
27
|
+
"author": "Uviwe Menyiwe (Azura Daemon) <foundation@manyahael.org>",
|
|
28
|
+
"license": "Apache-2.0",
|
|
29
|
+
"dependencies": {},
|
|
30
|
+
"devDependencies": {},
|
|
31
|
+
"module": "dist/esm/index.mjs",
|
|
32
|
+
"exports": {
|
|
33
|
+
".": {
|
|
34
|
+
"types": "./dist/types/index.d.ts",
|
|
35
|
+
"require": "./dist/cjs/index.js",
|
|
36
|
+
"import": "./dist/esm/index.mjs",
|
|
37
|
+
"default": "./dist/cjs/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./package.json": "./package.json"
|
|
40
|
+
},
|
|
41
|
+
"sideEffects": false,
|
|
42
|
+
"files": [
|
|
43
|
+
"dist",
|
|
44
|
+
"README.md",
|
|
45
|
+
"CHANGELOG.md",
|
|
46
|
+
"LICENSE"
|
|
47
|
+
]
|
|
48
|
+
}
|