@medicine-wheel/importance-unit 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 +105 -0
- package/dist/accountability.d.ts +59 -0
- package/dist/accountability.d.ts.map +1 -0
- package/dist/accountability.js +104 -0
- package/dist/accountability.js.map +1 -0
- package/dist/circle-tracking.d.ts +80 -0
- package/dist/circle-tracking.d.ts.map +1 -0
- package/dist/circle-tracking.js +144 -0
- package/dist/circle-tracking.js.map +1 -0
- package/dist/epistemic-weight.d.ts +54 -0
- package/dist/epistemic-weight.d.ts.map +1 -0
- package/dist/epistemic-weight.js +96 -0
- package/dist/epistemic-weight.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas.d.ts +382 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +95 -0
- package/dist/schemas.js.map +1 -0
- package/dist/types.d.ts +173 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/dist/unit.d.ts +55 -0
- package/dist/unit.d.ts.map +1 -0
- package/dist/unit.js +133 -0
- package/dist/unit.js.map +1 -0
- package/package.json +85 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/importance-unit — Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* The ImportanceUnit is the relational unit of knowledge in Wilson's
|
|
5
|
+
* epistemology. Not all knowledge carries equal weight — dream-state
|
|
6
|
+
* and embodied knowing may hold more epistemic authority than rational
|
|
7
|
+
* analysis. These types make that explicit.
|
|
8
|
+
*
|
|
9
|
+
* Grounded in Shawn Wilson's "Research Is Ceremony" framework.
|
|
10
|
+
*/
|
|
11
|
+
import type { DirectionName } from '@medicine-wheel/ontology-core';
|
|
12
|
+
/**
|
|
13
|
+
* The relational origin dimension of knowledge.
|
|
14
|
+
* - `land` — place-grounded, embodied knowing
|
|
15
|
+
* - `dream` — liminal, spirit-state knowing
|
|
16
|
+
* - `code` — technical, implementation knowing
|
|
17
|
+
* - `vision` — intentional, architectural knowing
|
|
18
|
+
*/
|
|
19
|
+
export type EpistemicSource = 'land' | 'dream' | 'code' | 'vision';
|
|
20
|
+
/**
|
|
21
|
+
* The nature of a relational link between ImportanceUnits.
|
|
22
|
+
* Not 'references' — relationships carry responsibility.
|
|
23
|
+
*/
|
|
24
|
+
export type AccountabilityLinkType = 'accountable-to' | 'deepens' | 'tensions-with' | 'emerges-from' | 'gates' | 'circles-back-to';
|
|
25
|
+
/**
|
|
26
|
+
* Wilson's four pillars of a research paradigm.
|
|
27
|
+
* Every ImportanceUnit addresses at least one pillar.
|
|
28
|
+
*/
|
|
29
|
+
export type AxiologicalPillar = 'ontology' | 'epistemology' | 'methodology' | 'axiology';
|
|
30
|
+
/**
|
|
31
|
+
* A relational string connecting an ImportanceUnit to what it is
|
|
32
|
+
* accountable to. The question is "To what is this accountable?"
|
|
33
|
+
* not "What is this about?"
|
|
34
|
+
*/
|
|
35
|
+
export interface AccountabilityLink {
|
|
36
|
+
/** ID of the related entity (another ImportanceUnit, an inquiry, a trace, a person) */
|
|
37
|
+
targetId: string;
|
|
38
|
+
/** The nature of the relationship — relationships carry responsibility */
|
|
39
|
+
relationType: AccountabilityLinkType;
|
|
40
|
+
/** Human-readable description of why this link exists */
|
|
41
|
+
description?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Tracks what shifts between circles — this is where the
|
|
45
|
+
* "important lines" live. Repetition is ceremony and deepening,
|
|
46
|
+
* not redundancy.
|
|
47
|
+
*/
|
|
48
|
+
export interface CircleRefinement {
|
|
49
|
+
/** Which circle iteration produced this refinement */
|
|
50
|
+
circle: number;
|
|
51
|
+
/** What changed or deepened in this pass */
|
|
52
|
+
shift: string;
|
|
53
|
+
/** When this refinement occurred */
|
|
54
|
+
timestamp: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A condition that must be met before autonomous action can
|
|
58
|
+
* proceed on an ImportanceUnit.
|
|
59
|
+
*/
|
|
60
|
+
export interface GatingConditionStatus {
|
|
61
|
+
/** e.g. 'Research Is Ceremony context gathered', 'Medicine Wheel alignment verified' */
|
|
62
|
+
condition: string;
|
|
63
|
+
/** Whether this condition has been satisfied */
|
|
64
|
+
satisfied: boolean;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Tracks the ceremonial progression of an ImportanceUnit
|
|
68
|
+
* through the four directions.
|
|
69
|
+
*/
|
|
70
|
+
export interface CeremonyState {
|
|
71
|
+
/** Which Medicine Wheel quadrants have been touched */
|
|
72
|
+
quadrantsVisited: DirectionName[];
|
|
73
|
+
/** True when all four quadrants have been visited — triggers eligibility for archival */
|
|
74
|
+
circleComplete: boolean;
|
|
75
|
+
/** Conditions that must be met before autonomous action can proceed */
|
|
76
|
+
gatingConditions: GatingConditionStatus[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The content payload of an ImportanceUnit.
|
|
80
|
+
*/
|
|
81
|
+
export interface ImportanceUnitContent {
|
|
82
|
+
/** The relational meaning of this unit — what it holds, not just what it says */
|
|
83
|
+
summary: string;
|
|
84
|
+
/** Original unprocessed input if available (preserves the voice) */
|
|
85
|
+
rawInput?: string;
|
|
86
|
+
/** Track what shifts between circles */
|
|
87
|
+
refinements: CircleRefinement[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Creation and lifecycle metadata for an ImportanceUnit.
|
|
91
|
+
*/
|
|
92
|
+
export interface ImportanceUnitMeta {
|
|
93
|
+
/** Agent or person who created this unit */
|
|
94
|
+
createdBy: string;
|
|
95
|
+
/** ISO 8601 creation timestamp */
|
|
96
|
+
createdAt: string;
|
|
97
|
+
/** ISO 8601 timestamp of last circle-back */
|
|
98
|
+
lastCircledAt?: string;
|
|
99
|
+
/** COAIA trace ID linking to ceremonial documentation */
|
|
100
|
+
traceId?: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A relationally-accountable piece of meaning — the fundamental unit
|
|
104
|
+
* of knowledge in Wilson's relational epistemology.
|
|
105
|
+
*
|
|
106
|
+
* Not a flat data object. Each unit carries epistemic weight,
|
|
107
|
+
* source dimensions, accountability links, and circle depth tracking.
|
|
108
|
+
* Dream-state knowledge starts at 0.85+ weight; rational-filtered
|
|
109
|
+
* inputs start lower. Weight increases with circleDepth.
|
|
110
|
+
*/
|
|
111
|
+
export interface ImportanceUnit {
|
|
112
|
+
/** Unique identifier for this importance unit */
|
|
113
|
+
id: string;
|
|
114
|
+
/** Medicine Wheel quadrant alignment */
|
|
115
|
+
direction: DirectionName;
|
|
116
|
+
/** Epistemic authority (0.0–1.0). Dream-state starts at 0.85+ */
|
|
117
|
+
epistemicWeight: number;
|
|
118
|
+
/** Relational origin dimension */
|
|
119
|
+
source: EpistemicSource;
|
|
120
|
+
/** Relational strings connecting to what this unit is accountable to */
|
|
121
|
+
accountabilityLinks: AccountabilityLink[];
|
|
122
|
+
/** How many times this topic has been circled. First visit = 1 */
|
|
123
|
+
circleDepth: number;
|
|
124
|
+
/** Content payload with refinement tracking */
|
|
125
|
+
content: ImportanceUnitContent;
|
|
126
|
+
/** Ceremonial progression through the four directions */
|
|
127
|
+
ceremonyState?: CeremonyState;
|
|
128
|
+
/** Which of Wilson's four pillars this unit primarily addresses */
|
|
129
|
+
axiologicalPillar?: AxiologicalPillar;
|
|
130
|
+
/** Reference to the parent inquiry */
|
|
131
|
+
inquiryRef?: string;
|
|
132
|
+
/** Creation and lifecycle metadata */
|
|
133
|
+
meta: ImportanceUnitMeta;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Input for creating a new ImportanceUnit.
|
|
137
|
+
* Fields with defaults are optional.
|
|
138
|
+
*/
|
|
139
|
+
export interface CreateUnitInput {
|
|
140
|
+
/** Medicine Wheel quadrant alignment */
|
|
141
|
+
direction: DirectionName;
|
|
142
|
+
/** Relational origin dimension */
|
|
143
|
+
source: EpistemicSource;
|
|
144
|
+
/** The relational meaning of this unit */
|
|
145
|
+
summary: string;
|
|
146
|
+
/** Original unprocessed input (preserves the voice) */
|
|
147
|
+
rawInput?: string;
|
|
148
|
+
/** Agent or person creating this unit */
|
|
149
|
+
createdBy: string;
|
|
150
|
+
/** Which of Wilson's four pillars this unit addresses */
|
|
151
|
+
axiologicalPillar?: AxiologicalPillar;
|
|
152
|
+
/** Reference to the parent inquiry */
|
|
153
|
+
inquiryRef?: string;
|
|
154
|
+
/** Initial accountability links */
|
|
155
|
+
accountabilityLinks?: AccountabilityLink[];
|
|
156
|
+
/** COAIA trace ID */
|
|
157
|
+
traceId?: string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Input for updating an existing ImportanceUnit.
|
|
161
|
+
* All fields optional — only provided fields are updated.
|
|
162
|
+
*/
|
|
163
|
+
export interface UpdateUnitInput {
|
|
164
|
+
/** Updated quadrant alignment */
|
|
165
|
+
direction?: DirectionName;
|
|
166
|
+
/** Updated content summary */
|
|
167
|
+
summary?: string;
|
|
168
|
+
/** Updated axiological pillar */
|
|
169
|
+
axiologicalPillar?: AxiologicalPillar;
|
|
170
|
+
/** Updated inquiry reference */
|
|
171
|
+
inquiryRef?: string;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/importance-unit — Type Definitions
|
|
4
|
+
*
|
|
5
|
+
* The ImportanceUnit is the relational unit of knowledge in Wilson's
|
|
6
|
+
* epistemology. Not all knowledge carries equal weight — dream-state
|
|
7
|
+
* and embodied knowing may hold more epistemic authority than rational
|
|
8
|
+
* analysis. These types make that explicit.
|
|
9
|
+
*
|
|
10
|
+
* Grounded in Shawn Wilson's "Research Is Ceremony" framework.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
|
package/dist/unit.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/importance-unit — Core CRUD Operations
|
|
3
|
+
*
|
|
4
|
+
* Create, update, circle-back, and archive ImportanceUnits.
|
|
5
|
+
* Each operation respects the relational nature of knowledge:
|
|
6
|
+
* creation sets epistemic weight from source, circle-back
|
|
7
|
+
* deepens rather than replaces, and archival honors completion.
|
|
8
|
+
*/
|
|
9
|
+
import type { ImportanceUnit, CreateUnitInput, UpdateUnitInput } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Create a new ImportanceUnit from input.
|
|
12
|
+
*
|
|
13
|
+
* Sets initial epistemic weight based on the source dimension
|
|
14
|
+
* (dream-state starts at 0.85, land at 0.75, etc.), initializes
|
|
15
|
+
* circleDepth to 1, and stamps creation metadata.
|
|
16
|
+
*
|
|
17
|
+
* @param input - The creation input
|
|
18
|
+
* @returns A fully initialized ImportanceUnit
|
|
19
|
+
*/
|
|
20
|
+
export declare function createUnit(input: CreateUnitInput): ImportanceUnit;
|
|
21
|
+
/**
|
|
22
|
+
* Update an existing ImportanceUnit with new field values.
|
|
23
|
+
*
|
|
24
|
+
* Only provided fields are changed. Content summary is updated
|
|
25
|
+
* in place — for deepening, use `circleBack()` instead.
|
|
26
|
+
*
|
|
27
|
+
* @param unit - The existing unit to update
|
|
28
|
+
* @param input - Fields to update
|
|
29
|
+
* @returns The updated ImportanceUnit
|
|
30
|
+
*/
|
|
31
|
+
export declare function updateUnit(unit: ImportanceUnit, input: UpdateUnitInput): ImportanceUnit;
|
|
32
|
+
/**
|
|
33
|
+
* Circle back to an ImportanceUnit, deepening its knowledge.
|
|
34
|
+
*
|
|
35
|
+
* Increments circleDepth, records a refinement describing what
|
|
36
|
+
* shifted, and recalculates epistemic weight with the new depth.
|
|
37
|
+
* Repetition is ceremony and deepening, not redundancy.
|
|
38
|
+
*
|
|
39
|
+
* @param unit - The unit to circle back to
|
|
40
|
+
* @param shift - What changed or deepened in this pass
|
|
41
|
+
* @returns The deepened ImportanceUnit
|
|
42
|
+
*/
|
|
43
|
+
export declare function circleBack(unit: ImportanceUnit, shift: string): ImportanceUnit;
|
|
44
|
+
/**
|
|
45
|
+
* Archive an ImportanceUnit by marking its ceremony circle as complete.
|
|
46
|
+
*
|
|
47
|
+
* This does not delete the unit — it honors its completion through
|
|
48
|
+
* the four directions. Should only be called when the ceremony
|
|
49
|
+
* circle is truly complete.
|
|
50
|
+
*
|
|
51
|
+
* @param unit - The unit to archive
|
|
52
|
+
* @returns The archived ImportanceUnit with circleComplete = true
|
|
53
|
+
*/
|
|
54
|
+
export declare function archive(unit: ImportanceUnit): ImportanceUnit;
|
|
55
|
+
//# sourceMappingURL=unit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../src/unit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAenF;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,CAwBjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,GAAG,cAAc,CAUvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAqB9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAS5D"}
|
package/dist/unit.js
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/importance-unit — Core CRUD Operations
|
|
4
|
+
*
|
|
5
|
+
* Create, update, circle-back, and archive ImportanceUnits.
|
|
6
|
+
* Each operation respects the relational nature of knowledge:
|
|
7
|
+
* creation sets epistemic weight from source, circle-back
|
|
8
|
+
* deepens rather than replaces, and archival honors completion.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.createUnit = createUnit;
|
|
12
|
+
exports.updateUnit = updateUnit;
|
|
13
|
+
exports.circleBack = circleBack;
|
|
14
|
+
exports.archive = archive;
|
|
15
|
+
const epistemic_weight_js_1 = require("./epistemic-weight.js");
|
|
16
|
+
let _counter = 0;
|
|
17
|
+
/**
|
|
18
|
+
* Generate a unique ID for an ImportanceUnit.
|
|
19
|
+
* Uses a timestamp + counter pattern for ordering.
|
|
20
|
+
*/
|
|
21
|
+
function generateId() {
|
|
22
|
+
const ts = Date.now().toString(36);
|
|
23
|
+
const seq = (++_counter).toString(36).padStart(4, '0');
|
|
24
|
+
return `iu-${ts}-${seq}`;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a new ImportanceUnit from input.
|
|
28
|
+
*
|
|
29
|
+
* Sets initial epistemic weight based on the source dimension
|
|
30
|
+
* (dream-state starts at 0.85, land at 0.75, etc.), initializes
|
|
31
|
+
* circleDepth to 1, and stamps creation metadata.
|
|
32
|
+
*
|
|
33
|
+
* @param input - The creation input
|
|
34
|
+
* @returns A fully initialized ImportanceUnit
|
|
35
|
+
*/
|
|
36
|
+
function createUnit(input) {
|
|
37
|
+
const now = new Date().toISOString();
|
|
38
|
+
const weight = (0, epistemic_weight_js_1.computeWeight)(input.source, 1);
|
|
39
|
+
return {
|
|
40
|
+
id: generateId(),
|
|
41
|
+
direction: input.direction,
|
|
42
|
+
epistemicWeight: weight,
|
|
43
|
+
source: input.source,
|
|
44
|
+
accountabilityLinks: input.accountabilityLinks ?? [],
|
|
45
|
+
circleDepth: 1,
|
|
46
|
+
content: {
|
|
47
|
+
summary: input.summary,
|
|
48
|
+
rawInput: input.rawInput,
|
|
49
|
+
refinements: [],
|
|
50
|
+
},
|
|
51
|
+
axiologicalPillar: input.axiologicalPillar,
|
|
52
|
+
inquiryRef: input.inquiryRef,
|
|
53
|
+
meta: {
|
|
54
|
+
createdBy: input.createdBy,
|
|
55
|
+
createdAt: now,
|
|
56
|
+
traceId: input.traceId,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Update an existing ImportanceUnit with new field values.
|
|
62
|
+
*
|
|
63
|
+
* Only provided fields are changed. Content summary is updated
|
|
64
|
+
* in place — for deepening, use `circleBack()` instead.
|
|
65
|
+
*
|
|
66
|
+
* @param unit - The existing unit to update
|
|
67
|
+
* @param input - Fields to update
|
|
68
|
+
* @returns The updated ImportanceUnit
|
|
69
|
+
*/
|
|
70
|
+
function updateUnit(unit, input) {
|
|
71
|
+
return {
|
|
72
|
+
...unit,
|
|
73
|
+
direction: input.direction ?? unit.direction,
|
|
74
|
+
content: input.summary
|
|
75
|
+
? { ...unit.content, summary: input.summary }
|
|
76
|
+
: unit.content,
|
|
77
|
+
axiologicalPillar: input.axiologicalPillar ?? unit.axiologicalPillar,
|
|
78
|
+
inquiryRef: input.inquiryRef ?? unit.inquiryRef,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Circle back to an ImportanceUnit, deepening its knowledge.
|
|
83
|
+
*
|
|
84
|
+
* Increments circleDepth, records a refinement describing what
|
|
85
|
+
* shifted, and recalculates epistemic weight with the new depth.
|
|
86
|
+
* Repetition is ceremony and deepening, not redundancy.
|
|
87
|
+
*
|
|
88
|
+
* @param unit - The unit to circle back to
|
|
89
|
+
* @param shift - What changed or deepened in this pass
|
|
90
|
+
* @returns The deepened ImportanceUnit
|
|
91
|
+
*/
|
|
92
|
+
function circleBack(unit, shift) {
|
|
93
|
+
const now = new Date().toISOString();
|
|
94
|
+
const newDepth = unit.circleDepth + 1;
|
|
95
|
+
const newWeight = (0, epistemic_weight_js_1.computeWeight)(unit.source, newDepth);
|
|
96
|
+
return {
|
|
97
|
+
...unit,
|
|
98
|
+
circleDepth: newDepth,
|
|
99
|
+
epistemicWeight: newWeight,
|
|
100
|
+
content: {
|
|
101
|
+
...unit.content,
|
|
102
|
+
refinements: [
|
|
103
|
+
...unit.content.refinements,
|
|
104
|
+
{ circle: newDepth, shift, timestamp: now },
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
meta: {
|
|
108
|
+
...unit.meta,
|
|
109
|
+
lastCircledAt: now,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Archive an ImportanceUnit by marking its ceremony circle as complete.
|
|
115
|
+
*
|
|
116
|
+
* This does not delete the unit — it honors its completion through
|
|
117
|
+
* the four directions. Should only be called when the ceremony
|
|
118
|
+
* circle is truly complete.
|
|
119
|
+
*
|
|
120
|
+
* @param unit - The unit to archive
|
|
121
|
+
* @returns The archived ImportanceUnit with circleComplete = true
|
|
122
|
+
*/
|
|
123
|
+
function archive(unit) {
|
|
124
|
+
return {
|
|
125
|
+
...unit,
|
|
126
|
+
ceremonyState: {
|
|
127
|
+
quadrantsVisited: unit.ceremonyState?.quadrantsVisited ?? [],
|
|
128
|
+
circleComplete: true,
|
|
129
|
+
gatingConditions: unit.ceremonyState?.gatingConditions ?? [],
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=unit.js.map
|
package/dist/unit.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit.js","sourceRoot":"","sources":["../src/unit.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@medicine-wheel/importance-unit",
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "ImportanceUnit — the relational unit of knowledge for the Medicine Wheel Developer Suite. Carries epistemic weight, source dimensions (Land/Dream/Code/Vision), circle depth tracking, and accountability links grounded in Wilson's relational epistemology",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"require": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./types": {
|
|
15
|
+
"import": "./dist/types.js",
|
|
16
|
+
"types": "./dist/types.d.ts",
|
|
17
|
+
"require": "./dist/types.js",
|
|
18
|
+
"default": "./dist/types.js"
|
|
19
|
+
},
|
|
20
|
+
"./schemas": {
|
|
21
|
+
"import": "./dist/schemas.js",
|
|
22
|
+
"types": "./dist/schemas.d.ts",
|
|
23
|
+
"require": "./dist/schemas.js",
|
|
24
|
+
"default": "./dist/schemas.js"
|
|
25
|
+
},
|
|
26
|
+
"./unit": {
|
|
27
|
+
"import": "./dist/unit.js",
|
|
28
|
+
"types": "./dist/unit.d.ts",
|
|
29
|
+
"require": "./dist/unit.js",
|
|
30
|
+
"default": "./dist/unit.js"
|
|
31
|
+
},
|
|
32
|
+
"./epistemic-weight": {
|
|
33
|
+
"import": "./dist/epistemic-weight.js",
|
|
34
|
+
"types": "./dist/epistemic-weight.d.ts",
|
|
35
|
+
"require": "./dist/epistemic-weight.js",
|
|
36
|
+
"default": "./dist/epistemic-weight.js"
|
|
37
|
+
},
|
|
38
|
+
"./accountability": {
|
|
39
|
+
"import": "./dist/accountability.js",
|
|
40
|
+
"types": "./dist/accountability.d.ts",
|
|
41
|
+
"require": "./dist/accountability.js",
|
|
42
|
+
"default": "./dist/accountability.js"
|
|
43
|
+
},
|
|
44
|
+
"./circle-tracking": {
|
|
45
|
+
"import": "./dist/circle-tracking.js",
|
|
46
|
+
"types": "./dist/circle-tracking.d.ts",
|
|
47
|
+
"require": "./dist/circle-tracking.js",
|
|
48
|
+
"default": "./dist/circle-tracking.js"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"sideEffects": false,
|
|
52
|
+
"files": [
|
|
53
|
+
"dist",
|
|
54
|
+
"README.md"
|
|
55
|
+
],
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "tsc",
|
|
58
|
+
"dev": "tsc --watch",
|
|
59
|
+
"lint": "tsc --noEmit",
|
|
60
|
+
"clean": "rm -rf dist",
|
|
61
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
62
|
+
},
|
|
63
|
+
"keywords": [
|
|
64
|
+
"medicine-wheel",
|
|
65
|
+
"importance-unit",
|
|
66
|
+
"epistemic-weight",
|
|
67
|
+
"relational-knowledge",
|
|
68
|
+
"indigenous-research",
|
|
69
|
+
"relational-accountability",
|
|
70
|
+
"four-directions",
|
|
71
|
+
"shawn-wilson",
|
|
72
|
+
"circle-depth",
|
|
73
|
+
"zod"
|
|
74
|
+
],
|
|
75
|
+
"author": "IAIP Collaborative - Shawinigan, QC",
|
|
76
|
+
"license": "MIT",
|
|
77
|
+
"dependencies": {
|
|
78
|
+
"@medicine-wheel/ontology-core": "^0.2.2",
|
|
79
|
+
"zod": "^3.23.0"
|
|
80
|
+
},
|
|
81
|
+
"devDependencies": {
|
|
82
|
+
"@types/node": "^20.10.0",
|
|
83
|
+
"typescript": "^5.3.0"
|
|
84
|
+
}
|
|
85
|
+
}
|