@medicine-wheel/transformation-tracker 0.2.2
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/README.md +87 -0
- package/dist/community.d.ts +53 -0
- package/dist/community.d.ts.map +1 -0
- package/dist/community.js +97 -0
- package/dist/community.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +60 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts.d.ts +26 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +124 -0
- package/dist/prompts.js.map +1 -0
- package/dist/reciprocity-ledger.d.ts +60 -0
- package/dist/reciprocity-ledger.d.ts.map +1 -0
- package/dist/reciprocity-ledger.js +98 -0
- package/dist/reciprocity-ledger.js.map +1 -0
- package/dist/relational-shift.d.ts +69 -0
- package/dist/relational-shift.d.ts.map +1 -0
- package/dist/relational-shift.js +123 -0
- package/dist/relational-shift.js.map +1 -0
- package/dist/researcher.d.ts +49 -0
- package/dist/researcher.d.ts.map +1 -0
- package/dist/researcher.js +118 -0
- package/dist/researcher.js.map +1 -0
- package/dist/schemas.d.ts +439 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +90 -0
- package/dist/schemas.js.map +1 -0
- package/dist/seven-generations.d.ts +52 -0
- package/dist/seven-generations.d.ts.map +1 -0
- package/dist/seven-generations.js +165 -0
- package/dist/seven-generations.js.map +1 -0
- package/dist/types.d.ts +134 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/validity.d.ts +27 -0
- package/dist/validity.d.ts.map +1 -0
- package/dist/validity.js +102 -0
- package/dist/validity.js.map +1 -0
- package/package.json +59 -0
package/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# @medicine-wheel/transformation-tracker
|
|
2
|
+
|
|
3
|
+
Research transformation tracking for the Medicine Wheel Developer Suite.
|
|
4
|
+
|
|
5
|
+
> Wilson's validity criterion: "If research doesn't change you, you haven't done it right."
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Tracks the transformative impact of research on researchers, communities, and relational networks. Without transformation tracking, the system can measure process compliance but cannot determine whether the research *succeeded* in Wilson's terms.
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @medicine-wheel/transformation-tracker
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Key Concepts
|
|
18
|
+
|
|
19
|
+
### TransformationLog
|
|
20
|
+
|
|
21
|
+
The primary container that tracks all transformation signals across a research cycle:
|
|
22
|
+
- **Snapshots** — periodic captures of the researcher's understanding state
|
|
23
|
+
- **Reflections** — researcher self-reflection entries
|
|
24
|
+
- **Community Impacts** — recorded benefits to the community
|
|
25
|
+
- **Relational Shifts** — changes in relational strength/quality
|
|
26
|
+
- **Reciprocity Ledger** — giving/receiving balance tracking
|
|
27
|
+
- **Seven-Generation Score** — long-term sustainability assessment
|
|
28
|
+
|
|
29
|
+
### Wilson Validity
|
|
30
|
+
|
|
31
|
+
The `wilsonValidityCheck()` function evaluates five dimensions:
|
|
32
|
+
1. **Researcher Transformation** — has the researcher been changed?
|
|
33
|
+
2. **Community Benefit** — has the community benefited?
|
|
34
|
+
3. **Relational Strengthening** — have relations been strengthened?
|
|
35
|
+
4. **Reciprocity Balance** — is giving and receiving balanced?
|
|
36
|
+
5. **Seven-Generation Consideration** — are future generations honored?
|
|
37
|
+
|
|
38
|
+
## API
|
|
39
|
+
|
|
40
|
+
### Researcher Module
|
|
41
|
+
|
|
42
|
+
- `logReflection(log, prompt, response, direction)` — add a reflection entry
|
|
43
|
+
- `snapshotUnderstanding(log, snapshot)` — capture current understanding state
|
|
44
|
+
- `compareSnapshots(before, after)` — diff two snapshots to detect growth
|
|
45
|
+
- `detectGrowth(log)` — analyze log for genuine growth signals
|
|
46
|
+
|
|
47
|
+
### Community Module
|
|
48
|
+
|
|
49
|
+
- `logCommunityImpact(log, impact)` — record community benefit
|
|
50
|
+
- `reciprocityBalance(log)` — compute giving/receiving balance
|
|
51
|
+
- `communityVoice(log)` — surface community perspective
|
|
52
|
+
- `impactTimeline(log)` — chronological impact narrative
|
|
53
|
+
|
|
54
|
+
### Relational Shift Module
|
|
55
|
+
|
|
56
|
+
- `trackRelationalChange(log, shift)` — record a relational shift
|
|
57
|
+
- `beforeAfter(log, relationId)` — get before/after for a relation
|
|
58
|
+
- `strengthDelta(log)` — aggregate relational strength changes
|
|
59
|
+
- `newRelationsFormed(log)` — count and describe new relations
|
|
60
|
+
|
|
61
|
+
### Seven Generations Module
|
|
62
|
+
|
|
63
|
+
- `sevenGenScore(log)` — compute seven-generation sustainability score
|
|
64
|
+
- `futureImpact(log)` — assess impact on future generations
|
|
65
|
+
- `sustainabilityCheck(log)` — check long-term relational sustainability
|
|
66
|
+
|
|
67
|
+
### Reciprocity Ledger Module
|
|
68
|
+
|
|
69
|
+
- `logGiving(log, entry)` — record giving
|
|
70
|
+
- `logReceiving(log, entry)` — record receiving
|
|
71
|
+
- `balanceCheck(log)` — is reciprocity balanced?
|
|
72
|
+
- `reciprocityDebt(log)` — what needs to be given back?
|
|
73
|
+
|
|
74
|
+
### Prompts Module
|
|
75
|
+
|
|
76
|
+
- `reflectionPrompts(phase)` — generate prompts for each ceremony phase
|
|
77
|
+
- `phaseTransitionPrompts(from, to)` — prompts for phase transitions
|
|
78
|
+
- `milestonePrompts(milestone)` — prompts at relational milestones
|
|
79
|
+
|
|
80
|
+
### Validity Module
|
|
81
|
+
|
|
82
|
+
- `wilsonValidityCheck(log)` — THE function: has the research transformed?
|
|
83
|
+
|
|
84
|
+
## License
|
|
85
|
+
|
|
86
|
+
MIT — IAIP Collaborative, Shawinigan, QC
|
|
87
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/transformation-tracker — Community Module
|
|
3
|
+
*
|
|
4
|
+
* Tracks community impact, reciprocity balance, and surfaces
|
|
5
|
+
* community perspectives on the research process.
|
|
6
|
+
*/
|
|
7
|
+
import type { TransformationLog, CommunityImpact } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Record a community benefit from the research.
|
|
10
|
+
* Wilson requires that research benefit the community, not just the researcher.
|
|
11
|
+
*/
|
|
12
|
+
export declare function logCommunityImpact(log: TransformationLog, impact: CommunityImpact): TransformationLog;
|
|
13
|
+
/**
|
|
14
|
+
* Compute the giving/receiving balance across the reciprocity ledger.
|
|
15
|
+
* Returns a ratio where 1.0 means perfectly balanced, <1 means more
|
|
16
|
+
* receiving than giving, >1 means more giving than receiving.
|
|
17
|
+
*/
|
|
18
|
+
export declare function reciprocityBalance(log: TransformationLog): ReciprocityBalanceResult;
|
|
19
|
+
/**
|
|
20
|
+
* Surface the community perspective on the research impact.
|
|
21
|
+
* Aggregates community impacts by category and highlights patterns.
|
|
22
|
+
*/
|
|
23
|
+
export declare function communityVoice(log: TransformationLog): CommunityVoiceResult;
|
|
24
|
+
/**
|
|
25
|
+
* Generate a chronological narrative of community impacts.
|
|
26
|
+
* Tells the story of how the research has touched the community over time.
|
|
27
|
+
*/
|
|
28
|
+
export declare function impactTimeline(log: TransformationLog): TimelineEntry[];
|
|
29
|
+
/** Result of reciprocity balance computation */
|
|
30
|
+
export interface ReciprocityBalanceResult {
|
|
31
|
+
ratio: number;
|
|
32
|
+
givingCount: number;
|
|
33
|
+
receivingCount: number;
|
|
34
|
+
balanced: boolean;
|
|
35
|
+
summary: string;
|
|
36
|
+
}
|
|
37
|
+
/** Aggregated community voice result */
|
|
38
|
+
export interface CommunityVoiceResult {
|
|
39
|
+
totalImpacts: number;
|
|
40
|
+
measurableImpacts: number;
|
|
41
|
+
categories: Record<string, CommunityImpact[]>;
|
|
42
|
+
beneficiaries: string[];
|
|
43
|
+
summary: string;
|
|
44
|
+
}
|
|
45
|
+
/** A single entry in the impact timeline */
|
|
46
|
+
export interface TimelineEntry {
|
|
47
|
+
timestamp: string;
|
|
48
|
+
description: string;
|
|
49
|
+
beneficiary: string;
|
|
50
|
+
category: string;
|
|
51
|
+
measurable: boolean;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=community.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../src/community.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,eAAe,GACtB,iBAAiB,CAKnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,wBAAwB,CAgCnF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,oBAAoB,CAsB3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa,EAAE,CAUtE;AAID,gDAAgD;AAChD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/transformation-tracker — Community Module
|
|
4
|
+
*
|
|
5
|
+
* Tracks community impact, reciprocity balance, and surfaces
|
|
6
|
+
* community perspectives on the research process.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.logCommunityImpact = logCommunityImpact;
|
|
10
|
+
exports.reciprocityBalance = reciprocityBalance;
|
|
11
|
+
exports.communityVoice = communityVoice;
|
|
12
|
+
exports.impactTimeline = impactTimeline;
|
|
13
|
+
/**
|
|
14
|
+
* Record a community benefit from the research.
|
|
15
|
+
* Wilson requires that research benefit the community, not just the researcher.
|
|
16
|
+
*/
|
|
17
|
+
function logCommunityImpact(log, impact) {
|
|
18
|
+
return {
|
|
19
|
+
...log,
|
|
20
|
+
communityImpacts: [...log.communityImpacts, impact],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Compute the giving/receiving balance across the reciprocity ledger.
|
|
25
|
+
* Returns a ratio where 1.0 means perfectly balanced, <1 means more
|
|
26
|
+
* receiving than giving, >1 means more giving than receiving.
|
|
27
|
+
*/
|
|
28
|
+
function reciprocityBalance(log) {
|
|
29
|
+
const giving = log.reciprocityLedger.filter((e) => e.type === 'giving');
|
|
30
|
+
const receiving = log.reciprocityLedger.filter((e) => e.type === 'receiving');
|
|
31
|
+
const givingCount = giving.length;
|
|
32
|
+
const receivingCount = receiving.length;
|
|
33
|
+
const total = givingCount + receivingCount;
|
|
34
|
+
if (total === 0) {
|
|
35
|
+
return {
|
|
36
|
+
ratio: 0,
|
|
37
|
+
givingCount: 0,
|
|
38
|
+
receivingCount: 0,
|
|
39
|
+
balanced: false,
|
|
40
|
+
summary: 'No reciprocity entries recorded yet.',
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const ratio = receivingCount > 0 ? givingCount / receivingCount : givingCount > 0 ? Infinity : 0;
|
|
44
|
+
const balanced = ratio >= 0.5 && ratio <= 2.0;
|
|
45
|
+
return {
|
|
46
|
+
ratio,
|
|
47
|
+
givingCount,
|
|
48
|
+
receivingCount,
|
|
49
|
+
balanced,
|
|
50
|
+
summary: balanced
|
|
51
|
+
? `Reciprocity is balanced: ${givingCount} giving, ${receivingCount} receiving.`
|
|
52
|
+
: ratio < 0.5
|
|
53
|
+
? `More receiving than giving (${receivingCount} received, ${givingCount} given). Consider what you can give back.`
|
|
54
|
+
: `More giving than receiving (${givingCount} given, ${receivingCount} received). Ensure you are also open to receiving.`,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Surface the community perspective on the research impact.
|
|
59
|
+
* Aggregates community impacts by category and highlights patterns.
|
|
60
|
+
*/
|
|
61
|
+
function communityVoice(log) {
|
|
62
|
+
const byCategory = {};
|
|
63
|
+
for (const impact of log.communityImpacts) {
|
|
64
|
+
const key = impact.category;
|
|
65
|
+
if (!byCategory[key])
|
|
66
|
+
byCategory[key] = [];
|
|
67
|
+
byCategory[key].push(impact);
|
|
68
|
+
}
|
|
69
|
+
const measurableCount = log.communityImpacts.filter((i) => i.measurable).length;
|
|
70
|
+
const totalCount = log.communityImpacts.length;
|
|
71
|
+
const beneficiaries = [...new Set(log.communityImpacts.map((i) => i.beneficiary))];
|
|
72
|
+
return {
|
|
73
|
+
totalImpacts: totalCount,
|
|
74
|
+
measurableImpacts: measurableCount,
|
|
75
|
+
categories: byCategory,
|
|
76
|
+
beneficiaries,
|
|
77
|
+
summary: totalCount === 0
|
|
78
|
+
? 'No community impacts recorded. Wilson requires research to benefit the community.'
|
|
79
|
+
: `${totalCount} community impacts recorded across ${Object.keys(byCategory).length} categories, benefiting ${beneficiaries.length} distinct beneficiaries.`,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Generate a chronological narrative of community impacts.
|
|
84
|
+
* Tells the story of how the research has touched the community over time.
|
|
85
|
+
*/
|
|
86
|
+
function impactTimeline(log) {
|
|
87
|
+
return [...log.communityImpacts]
|
|
88
|
+
.sort((a, b) => a.timestamp.localeCompare(b.timestamp))
|
|
89
|
+
.map((impact) => ({
|
|
90
|
+
timestamp: impact.timestamp,
|
|
91
|
+
description: impact.description,
|
|
92
|
+
beneficiary: impact.beneficiary,
|
|
93
|
+
category: impact.category,
|
|
94
|
+
measurable: impact.measurable,
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=community.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"community.js","sourceRoot":"","sources":["../src/community.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/transformation-tracker
|
|
3
|
+
*
|
|
4
|
+
* Research transformation tracking for the Medicine Wheel Developer Suite.
|
|
5
|
+
* Wilson's validity criterion: "If research doesn't change you,
|
|
6
|
+
* you haven't done it right."
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
export type { TransformationLog, GrowthSnapshot, Reflection, CommunityImpact, RelationalShift, ReciprocityEntry, WilsonValidity, } from './types.js';
|
|
11
|
+
export { CeremonyPhaseSchema, GrowthSnapshotSchema, ReflectionSchema, CommunityImpactSchema, RelationalShiftSchema, ReciprocityEntrySchema, TransformationLogSchema, WilsonValiditySchema, } from './schemas.js';
|
|
12
|
+
export type { ValidatedTransformationLog, ValidatedGrowthSnapshot, ValidatedReflection, ValidatedCommunityImpact, ValidatedRelationalShift, ValidatedReciprocityEntry, ValidatedWilsonValidity, } from './schemas.js';
|
|
13
|
+
export { logReflection, snapshotUnderstanding, compareSnapshots, detectGrowth, } from './researcher.js';
|
|
14
|
+
export type { SnapshotComparison, GrowthSignal, } from './researcher.js';
|
|
15
|
+
export { logCommunityImpact, reciprocityBalance, communityVoice, impactTimeline, } from './community.js';
|
|
16
|
+
export type { ReciprocityBalanceResult, CommunityVoiceResult, TimelineEntry, } from './community.js';
|
|
17
|
+
export { trackRelationalChange, beforeAfter, strengthDelta, newRelationsFormed, } from './relational-shift.js';
|
|
18
|
+
export type { RelationalShiftSummary, StrengthDeltaResult, NewRelationDescriptor, NewRelationsResult, } from './relational-shift.js';
|
|
19
|
+
export { sevenGenScore, futureImpact, sustainabilityCheck, } from './seven-generations.js';
|
|
20
|
+
export type { SevenGenResult, FutureImpactAssessment, SustainabilityResult, } from './seven-generations.js';
|
|
21
|
+
export { logGiving, logReceiving, balanceCheck, reciprocityDebt, } from './reciprocity-ledger.js';
|
|
22
|
+
export type { CategoryBalance, BalanceCheckResult, Debt, ReciprocityDebtResult, } from './reciprocity-ledger.js';
|
|
23
|
+
export { reflectionPrompts, phaseTransitionPrompts, milestonePrompts, } from './prompts.js';
|
|
24
|
+
export type { RelationalMilestone } from './prompts.js';
|
|
25
|
+
export { wilsonValidityCheck } from './validity.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,kBAAkB,EAClB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,IAAI,EACJ,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/transformation-tracker
|
|
4
|
+
*
|
|
5
|
+
* Research transformation tracking for the Medicine Wheel Developer Suite.
|
|
6
|
+
* Wilson's validity criterion: "If research doesn't change you,
|
|
7
|
+
* you haven't done it right."
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.wilsonValidityCheck = exports.milestonePrompts = exports.phaseTransitionPrompts = exports.reflectionPrompts = exports.reciprocityDebt = exports.balanceCheck = exports.logReceiving = exports.logGiving = exports.sustainabilityCheck = exports.futureImpact = exports.sevenGenScore = exports.newRelationsFormed = exports.strengthDelta = exports.beforeAfter = exports.trackRelationalChange = exports.impactTimeline = exports.communityVoice = exports.reciprocityBalance = exports.logCommunityImpact = exports.detectGrowth = exports.compareSnapshots = exports.snapshotUnderstanding = exports.logReflection = exports.WilsonValiditySchema = exports.TransformationLogSchema = exports.ReciprocityEntrySchema = exports.RelationalShiftSchema = exports.CommunityImpactSchema = exports.ReflectionSchema = exports.GrowthSnapshotSchema = exports.CeremonyPhaseSchema = void 0;
|
|
13
|
+
// ── Schemas ─────────────────────────────────────────────────────────────────
|
|
14
|
+
var schemas_js_1 = require("./schemas.js");
|
|
15
|
+
Object.defineProperty(exports, "CeremonyPhaseSchema", { enumerable: true, get: function () { return schemas_js_1.CeremonyPhaseSchema; } });
|
|
16
|
+
Object.defineProperty(exports, "GrowthSnapshotSchema", { enumerable: true, get: function () { return schemas_js_1.GrowthSnapshotSchema; } });
|
|
17
|
+
Object.defineProperty(exports, "ReflectionSchema", { enumerable: true, get: function () { return schemas_js_1.ReflectionSchema; } });
|
|
18
|
+
Object.defineProperty(exports, "CommunityImpactSchema", { enumerable: true, get: function () { return schemas_js_1.CommunityImpactSchema; } });
|
|
19
|
+
Object.defineProperty(exports, "RelationalShiftSchema", { enumerable: true, get: function () { return schemas_js_1.RelationalShiftSchema; } });
|
|
20
|
+
Object.defineProperty(exports, "ReciprocityEntrySchema", { enumerable: true, get: function () { return schemas_js_1.ReciprocityEntrySchema; } });
|
|
21
|
+
Object.defineProperty(exports, "TransformationLogSchema", { enumerable: true, get: function () { return schemas_js_1.TransformationLogSchema; } });
|
|
22
|
+
Object.defineProperty(exports, "WilsonValiditySchema", { enumerable: true, get: function () { return schemas_js_1.WilsonValiditySchema; } });
|
|
23
|
+
// ── Researcher ──────────────────────────────────────────────────────────────
|
|
24
|
+
var researcher_js_1 = require("./researcher.js");
|
|
25
|
+
Object.defineProperty(exports, "logReflection", { enumerable: true, get: function () { return researcher_js_1.logReflection; } });
|
|
26
|
+
Object.defineProperty(exports, "snapshotUnderstanding", { enumerable: true, get: function () { return researcher_js_1.snapshotUnderstanding; } });
|
|
27
|
+
Object.defineProperty(exports, "compareSnapshots", { enumerable: true, get: function () { return researcher_js_1.compareSnapshots; } });
|
|
28
|
+
Object.defineProperty(exports, "detectGrowth", { enumerable: true, get: function () { return researcher_js_1.detectGrowth; } });
|
|
29
|
+
// ── Community ───────────────────────────────────────────────────────────────
|
|
30
|
+
var community_js_1 = require("./community.js");
|
|
31
|
+
Object.defineProperty(exports, "logCommunityImpact", { enumerable: true, get: function () { return community_js_1.logCommunityImpact; } });
|
|
32
|
+
Object.defineProperty(exports, "reciprocityBalance", { enumerable: true, get: function () { return community_js_1.reciprocityBalance; } });
|
|
33
|
+
Object.defineProperty(exports, "communityVoice", { enumerable: true, get: function () { return community_js_1.communityVoice; } });
|
|
34
|
+
Object.defineProperty(exports, "impactTimeline", { enumerable: true, get: function () { return community_js_1.impactTimeline; } });
|
|
35
|
+
// ── Relational Shift ────────────────────────────────────────────────────────
|
|
36
|
+
var relational_shift_js_1 = require("./relational-shift.js");
|
|
37
|
+
Object.defineProperty(exports, "trackRelationalChange", { enumerable: true, get: function () { return relational_shift_js_1.trackRelationalChange; } });
|
|
38
|
+
Object.defineProperty(exports, "beforeAfter", { enumerable: true, get: function () { return relational_shift_js_1.beforeAfter; } });
|
|
39
|
+
Object.defineProperty(exports, "strengthDelta", { enumerable: true, get: function () { return relational_shift_js_1.strengthDelta; } });
|
|
40
|
+
Object.defineProperty(exports, "newRelationsFormed", { enumerable: true, get: function () { return relational_shift_js_1.newRelationsFormed; } });
|
|
41
|
+
// ── Seven Generations ───────────────────────────────────────────────────────
|
|
42
|
+
var seven_generations_js_1 = require("./seven-generations.js");
|
|
43
|
+
Object.defineProperty(exports, "sevenGenScore", { enumerable: true, get: function () { return seven_generations_js_1.sevenGenScore; } });
|
|
44
|
+
Object.defineProperty(exports, "futureImpact", { enumerable: true, get: function () { return seven_generations_js_1.futureImpact; } });
|
|
45
|
+
Object.defineProperty(exports, "sustainabilityCheck", { enumerable: true, get: function () { return seven_generations_js_1.sustainabilityCheck; } });
|
|
46
|
+
// ── Reciprocity Ledger ──────────────────────────────────────────────────────
|
|
47
|
+
var reciprocity_ledger_js_1 = require("./reciprocity-ledger.js");
|
|
48
|
+
Object.defineProperty(exports, "logGiving", { enumerable: true, get: function () { return reciprocity_ledger_js_1.logGiving; } });
|
|
49
|
+
Object.defineProperty(exports, "logReceiving", { enumerable: true, get: function () { return reciprocity_ledger_js_1.logReceiving; } });
|
|
50
|
+
Object.defineProperty(exports, "balanceCheck", { enumerable: true, get: function () { return reciprocity_ledger_js_1.balanceCheck; } });
|
|
51
|
+
Object.defineProperty(exports, "reciprocityDebt", { enumerable: true, get: function () { return reciprocity_ledger_js_1.reciprocityDebt; } });
|
|
52
|
+
// ── Prompts ─────────────────────────────────────────────────────────────────
|
|
53
|
+
var prompts_js_1 = require("./prompts.js");
|
|
54
|
+
Object.defineProperty(exports, "reflectionPrompts", { enumerable: true, get: function () { return prompts_js_1.reflectionPrompts; } });
|
|
55
|
+
Object.defineProperty(exports, "phaseTransitionPrompts", { enumerable: true, get: function () { return prompts_js_1.phaseTransitionPrompts; } });
|
|
56
|
+
Object.defineProperty(exports, "milestonePrompts", { enumerable: true, get: function () { return prompts_js_1.milestonePrompts; } });
|
|
57
|
+
// ── Validity ────────────────────────────────────────────────────────────────
|
|
58
|
+
var validity_js_1 = require("./validity.js");
|
|
59
|
+
Object.defineProperty(exports, "wilsonValidityCheck", { enumerable: true, get: function () { return validity_js_1.wilsonValidityCheck; } });
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAaH,+EAA+E;AAC/E,2CASsB;AARpB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,8GAAA,gBAAgB,OAAA;AAChB,mHAAA,qBAAqB,OAAA;AACrB,mHAAA,qBAAqB,OAAA;AACrB,oHAAA,sBAAsB,OAAA;AACtB,qHAAA,uBAAuB,OAAA;AACvB,kHAAA,oBAAoB,OAAA;AAatB,+EAA+E;AAC/E,iDAKyB;AAJvB,8GAAA,aAAa,OAAA;AACb,sHAAA,qBAAqB,OAAA;AACrB,iHAAA,gBAAgB,OAAA;AAChB,6GAAA,YAAY,OAAA;AAQd,+EAA+E;AAC/E,+CAKwB;AAJtB,kHAAA,kBAAkB,OAAA;AAClB,kHAAA,kBAAkB,OAAA;AAClB,8GAAA,cAAc,OAAA;AACd,8GAAA,cAAc,OAAA;AAShB,+EAA+E;AAC/E,6DAK+B;AAJ7B,4HAAA,qBAAqB,OAAA;AACrB,kHAAA,WAAW,OAAA;AACX,oHAAA,aAAa,OAAA;AACb,yHAAA,kBAAkB,OAAA;AAUpB,+EAA+E;AAC/E,+DAIgC;AAH9B,qHAAA,aAAa,OAAA;AACb,oHAAA,YAAY,OAAA;AACZ,2HAAA,mBAAmB,OAAA;AASrB,+EAA+E;AAC/E,iEAKiC;AAJ/B,kHAAA,SAAS,OAAA;AACT,qHAAA,YAAY,OAAA;AACZ,qHAAA,YAAY,OAAA;AACZ,wHAAA,eAAe,OAAA;AAUjB,+EAA+E;AAC/E,2CAIsB;AAHpB,+GAAA,iBAAiB,OAAA;AACjB,oHAAA,sBAAsB,OAAA;AACtB,8GAAA,gBAAgB,OAAA;AAKlB,+EAA+E;AAC/E,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/transformation-tracker — Prompts Module
|
|
3
|
+
*
|
|
4
|
+
* Generates reflection prompts appropriate to ceremony phases,
|
|
5
|
+
* phase transitions, and relational milestones. These prompts
|
|
6
|
+
* guide the researcher toward deeper Wilson-aligned reflection.
|
|
7
|
+
*/
|
|
8
|
+
import type { CeremonyPhase } from '@medicine-wheel/ontology-core';
|
|
9
|
+
/**
|
|
10
|
+
* Generate reflection prompts for a given ceremony phase.
|
|
11
|
+
* Each phase invites different kinds of reflection.
|
|
12
|
+
*/
|
|
13
|
+
export declare function reflectionPrompts(phase: CeremonyPhase): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Generate prompts appropriate for transitioning between ceremony phases.
|
|
16
|
+
* Transitions are liminal moments that invite particular awareness.
|
|
17
|
+
*/
|
|
18
|
+
export declare function phaseTransitionPrompts(from: CeremonyPhase, to: CeremonyPhase): string[];
|
|
19
|
+
/**
|
|
20
|
+
* Generate prompts for relational milestones during the research process.
|
|
21
|
+
* Milestones mark significant moments in the relational journey.
|
|
22
|
+
*/
|
|
23
|
+
export declare function milestonePrompts(milestone: RelationalMilestone): string[];
|
|
24
|
+
/** Relational milestones that trigger prompt generation */
|
|
25
|
+
export type RelationalMilestone = 'first-relation' | 'reciprocity-balance' | 'community-benefit' | 'transformation-detected' | 'seven-generation';
|
|
26
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAmChE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,MAAM,EAAE,CA4BvF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAiCzE;AAID,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,qBAAqB,GACrB,mBAAmB,GACnB,yBAAyB,GACzB,kBAAkB,CAAC"}
|
package/dist/prompts.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/transformation-tracker — Prompts Module
|
|
4
|
+
*
|
|
5
|
+
* Generates reflection prompts appropriate to ceremony phases,
|
|
6
|
+
* phase transitions, and relational milestones. These prompts
|
|
7
|
+
* guide the researcher toward deeper Wilson-aligned reflection.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.reflectionPrompts = reflectionPrompts;
|
|
11
|
+
exports.phaseTransitionPrompts = phaseTransitionPrompts;
|
|
12
|
+
exports.milestonePrompts = milestonePrompts;
|
|
13
|
+
/**
|
|
14
|
+
* Generate reflection prompts for a given ceremony phase.
|
|
15
|
+
* Each phase invites different kinds of reflection.
|
|
16
|
+
*/
|
|
17
|
+
function reflectionPrompts(phase) {
|
|
18
|
+
switch (phase) {
|
|
19
|
+
case 'opening':
|
|
20
|
+
return [
|
|
21
|
+
'What intentions do you bring to this research cycle?',
|
|
22
|
+
'Who are you in relation to this research? What is your positionality?',
|
|
23
|
+
'What relationships already exist that this research touches?',
|
|
24
|
+
'What obligations do you carry into this work?',
|
|
25
|
+
'How might this research change you?',
|
|
26
|
+
];
|
|
27
|
+
case 'council':
|
|
28
|
+
return [
|
|
29
|
+
'What perspectives have you encountered that challenge your assumptions?',
|
|
30
|
+
'Whose voice is missing from this conversation?',
|
|
31
|
+
'How have your relations shifted since the opening?',
|
|
32
|
+
'What reciprocity have you practiced so far?',
|
|
33
|
+
'What are you learning about yourself through this process?',
|
|
34
|
+
];
|
|
35
|
+
case 'integration':
|
|
36
|
+
return [
|
|
37
|
+
'How has your understanding been transformed by this research?',
|
|
38
|
+
'What new relations have formed? How will you honor them?',
|
|
39
|
+
'What have you received from the community? What have you given back?',
|
|
40
|
+
'How will future generations benefit from what you have learned?',
|
|
41
|
+
'What tensions remain unresolved? How do you sit with them?',
|
|
42
|
+
];
|
|
43
|
+
case 'closure':
|
|
44
|
+
return [
|
|
45
|
+
'How are you different now than when you began?',
|
|
46
|
+
'What obligations remain? How will you fulfill them?',
|
|
47
|
+
'What will you carry forward into your next cycle?',
|
|
48
|
+
'How will you continue to honor the relations formed here?',
|
|
49
|
+
'What gratitude do you wish to express?',
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Generate prompts appropriate for transitioning between ceremony phases.
|
|
55
|
+
* Transitions are liminal moments that invite particular awareness.
|
|
56
|
+
*/
|
|
57
|
+
function phaseTransitionPrompts(from, to) {
|
|
58
|
+
const key = `${from}->${to}`;
|
|
59
|
+
switch (key) {
|
|
60
|
+
case 'opening->council':
|
|
61
|
+
return [
|
|
62
|
+
'As you move from intention-setting to council, what has crystallized?',
|
|
63
|
+
'What questions will you bring to the council circle?',
|
|
64
|
+
'How has your relational posture shifted since the opening?',
|
|
65
|
+
];
|
|
66
|
+
case 'council->integration':
|
|
67
|
+
return [
|
|
68
|
+
'What emerged from council that surprised you?',
|
|
69
|
+
'What new understanding needs to be woven together?',
|
|
70
|
+
'How have the diverse voices of council changed your perspective?',
|
|
71
|
+
];
|
|
72
|
+
case 'integration->closure':
|
|
73
|
+
return [
|
|
74
|
+
'What has been integrated that you wish to carry forward?',
|
|
75
|
+
'What remains to be honored before closure?',
|
|
76
|
+
'What reciprocity needs to be completed before this cycle ends?',
|
|
77
|
+
];
|
|
78
|
+
default:
|
|
79
|
+
return [
|
|
80
|
+
`Transitioning from ${from} to ${to}: What needs to be acknowledged?`,
|
|
81
|
+
'What are you carrying from the previous phase?',
|
|
82
|
+
'What are you leaving behind?',
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Generate prompts for relational milestones during the research process.
|
|
88
|
+
* Milestones mark significant moments in the relational journey.
|
|
89
|
+
*/
|
|
90
|
+
function milestonePrompts(milestone) {
|
|
91
|
+
switch (milestone) {
|
|
92
|
+
case 'first-relation':
|
|
93
|
+
return [
|
|
94
|
+
'A new relation has formed. How will you honor it?',
|
|
95
|
+
'What obligations does this new relation carry?',
|
|
96
|
+
'How does this relation connect to your research intentions?',
|
|
97
|
+
];
|
|
98
|
+
case 'reciprocity-balance':
|
|
99
|
+
return [
|
|
100
|
+
'Reciprocity is balanced. How does it feel to be in right relation?',
|
|
101
|
+
'What enabled this balance? How can you sustain it?',
|
|
102
|
+
'Who else might benefit from what you have learned about reciprocity?',
|
|
103
|
+
];
|
|
104
|
+
case 'community-benefit':
|
|
105
|
+
return [
|
|
106
|
+
'The community has benefited from your research. What made this possible?',
|
|
107
|
+
'How can you deepen this benefit over time?',
|
|
108
|
+
'What feedback has the community offered?',
|
|
109
|
+
];
|
|
110
|
+
case 'transformation-detected':
|
|
111
|
+
return [
|
|
112
|
+
'Growth has been detected in your research journey. What has changed?',
|
|
113
|
+
'How has your understanding of relationships shifted?',
|
|
114
|
+
'What would you tell your past self about what you have learned?',
|
|
115
|
+
];
|
|
116
|
+
case 'seven-generation':
|
|
117
|
+
return [
|
|
118
|
+
'Your research now touches seven generations. What does this mean to you?',
|
|
119
|
+
'How will those not yet born experience the effects of this work?',
|
|
120
|
+
'What responsibility does this long-term impact carry?',
|
|
121
|
+
];
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAQH,8CAmCC;AAMD,wDA4BC;AAMD,4CAiCC;AAhHD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAoB;IACpD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS;YACZ,OAAO;gBACL,sDAAsD;gBACtD,uEAAuE;gBACvE,8DAA8D;gBAC9D,+CAA+C;gBAC/C,qCAAqC;aACtC,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,yEAAyE;gBACzE,gDAAgD;gBAChD,oDAAoD;gBACpD,6CAA6C;gBAC7C,4DAA4D;aAC7D,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,+DAA+D;gBAC/D,0DAA0D;gBAC1D,sEAAsE;gBACtE,iEAAiE;gBACjE,4DAA4D;aAC7D,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,gDAAgD;gBAChD,qDAAqD;gBACrD,mDAAmD;gBACnD,2DAA2D;gBAC3D,wCAAwC;aACzC,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,IAAmB,EAAE,EAAiB;IAC3E,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,EAAE,CAAC;IAC7B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,kBAAkB;YACrB,OAAO;gBACL,uEAAuE;gBACvE,sDAAsD;gBACtD,4DAA4D;aAC7D,CAAC;QACJ,KAAK,sBAAsB;YACzB,OAAO;gBACL,+CAA+C;gBAC/C,oDAAoD;gBACpD,kEAAkE;aACnE,CAAC;QACJ,KAAK,sBAAsB;YACzB,OAAO;gBACL,0DAA0D;gBAC1D,4CAA4C;gBAC5C,gEAAgE;aACjE,CAAC;QACJ;YACE,OAAO;gBACL,sBAAsB,IAAI,OAAO,EAAE,kCAAkC;gBACrE,gDAAgD;gBAChD,8BAA8B;aAC/B,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,SAA8B;IAC7D,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,gBAAgB;YACnB,OAAO;gBACL,mDAAmD;gBACnD,gDAAgD;gBAChD,6DAA6D;aAC9D,CAAC;QACJ,KAAK,qBAAqB;YACxB,OAAO;gBACL,oEAAoE;gBACpE,oDAAoD;gBACpD,sEAAsE;aACvE,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO;gBACL,0EAA0E;gBAC1E,4CAA4C;gBAC5C,0CAA0C;aAC3C,CAAC;QACJ,KAAK,yBAAyB;YAC5B,OAAO;gBACL,sEAAsE;gBACtE,sDAAsD;gBACtD,iEAAiE;aAClE,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO;gBACL,0EAA0E;gBAC1E,kEAAkE;gBAClE,uDAAuD;aACxD,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/transformation-tracker — Reciprocity Ledger Module
|
|
3
|
+
*
|
|
4
|
+
* Manages the reciprocity ledger: tracking giving and receiving
|
|
5
|
+
* across the research process. Wilson's relational accountability
|
|
6
|
+
* demands balanced reciprocity — what you take, you must give back.
|
|
7
|
+
*/
|
|
8
|
+
import type { ObligationCategory } from '@medicine-wheel/ontology-core';
|
|
9
|
+
import type { TransformationLog, ReciprocityEntry } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Log a giving entry to the reciprocity ledger.
|
|
12
|
+
* Records something the researcher has given back to the community,
|
|
13
|
+
* land, spirit, or future generations.
|
|
14
|
+
*/
|
|
15
|
+
export declare function logGiving(log: TransformationLog, entry: Omit<ReciprocityEntry, 'type'>): TransformationLog;
|
|
16
|
+
/**
|
|
17
|
+
* Log a receiving entry to the reciprocity ledger.
|
|
18
|
+
* Records something the researcher has received from the community,
|
|
19
|
+
* land, spirit, or ancestors.
|
|
20
|
+
*/
|
|
21
|
+
export declare function logReceiving(log: TransformationLog, entry: Omit<ReciprocityEntry, 'type'>): TransformationLog;
|
|
22
|
+
/**
|
|
23
|
+
* Check whether reciprocity is balanced.
|
|
24
|
+
* Balance is assessed per-category and overall.
|
|
25
|
+
*/
|
|
26
|
+
export declare function balanceCheck(log: TransformationLog): BalanceCheckResult;
|
|
27
|
+
/**
|
|
28
|
+
* Identify reciprocity debts — areas where receiving outpaces giving.
|
|
29
|
+
* These represent relational obligations that need to be honored.
|
|
30
|
+
*/
|
|
31
|
+
export declare function reciprocityDebt(log: TransformationLog): ReciprocityDebtResult;
|
|
32
|
+
/** Per-category balance assessment */
|
|
33
|
+
export interface CategoryBalance {
|
|
34
|
+
category: ObligationCategory;
|
|
35
|
+
giving: number;
|
|
36
|
+
receiving: number;
|
|
37
|
+
balanced: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** Overall balance check result */
|
|
40
|
+
export interface BalanceCheckResult {
|
|
41
|
+
overallBalanced: boolean;
|
|
42
|
+
totalGiving: number;
|
|
43
|
+
totalReceiving: number;
|
|
44
|
+
categoryBalances: CategoryBalance[];
|
|
45
|
+
summary: string;
|
|
46
|
+
}
|
|
47
|
+
/** A single reciprocity debt */
|
|
48
|
+
export interface Debt {
|
|
49
|
+
category: ObligationCategory;
|
|
50
|
+
deficit: number;
|
|
51
|
+
receivedFrom: string[];
|
|
52
|
+
suggestion: string;
|
|
53
|
+
}
|
|
54
|
+
/** Reciprocity debt analysis result */
|
|
55
|
+
export interface ReciprocityDebtResult {
|
|
56
|
+
hasDebts: boolean;
|
|
57
|
+
debts: Debt[];
|
|
58
|
+
summary: string;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=reciprocity-ledger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reciprocity-ledger.d.ts","sourceRoot":"","sources":["../src/reciprocity-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GACpC,iBAAiB,CAMnB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GACpC,iBAAiB,CAMnB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,iBAAiB,GAAG,kBAAkB,CAoCvE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,iBAAiB,GAAG,qBAAqB,CA6B7E;AAID,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB"}
|