@medicine-wheel/developer-repository-mapping 0.0.0-stage → 0.22.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/README.md +68 -2
- package/dist/check.d.ts +28 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +111 -0
- package/dist/check.js.map +1 -0
- package/dist/cli.d.ts +26 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +408 -0
- package/dist/cli.js.map +1 -0
- package/dist/ids.d.ts +28 -0
- package/dist/ids.d.ts.map +1 -0
- package/dist/ids.js +68 -0
- package/dist/ids.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonl.d.ts +19 -0
- package/dist/jsonl.d.ts.map +1 -0
- package/dist/jsonl.js +63 -0
- package/dist/jsonl.js.map +1 -0
- package/dist/lifecycle.d.ts +53 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +78 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/merge.d.ts +30 -0
- package/dist/merge.d.ts.map +1 -0
- package/dist/merge.js +94 -0
- package/dist/merge.js.map +1 -0
- package/dist/node/fs.d.ts +28 -0
- package/dist/node/fs.d.ts.map +1 -0
- package/dist/node/fs.js +162 -0
- package/dist/node/fs.js.map +1 -0
- package/dist/node/git.d.ts +15 -0
- package/dist/node/git.d.ts.map +1 -0
- package/dist/node/git.js +73 -0
- package/dist/node/git.js.map +1 -0
- package/dist/node/hub.d.ts +45 -0
- package/dist/node/hub.d.ts.map +1 -0
- package/dist/node/hub.js +113 -0
- package/dist/node/hub.js.map +1 -0
- package/dist/node/index.d.ts +16 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +30 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/page.d.ts +9 -0
- package/dist/node/page.d.ts.map +1 -0
- package/dist/node/page.js +219 -0
- package/dist/node/page.js.map +1 -0
- package/dist/node/server.d.ts +33 -0
- package/dist/node/server.d.ts.map +1 -0
- package/dist/node/server.js +111 -0
- package/dist/node/server.js.map +1 -0
- package/dist/read.d.ts +13 -0
- package/dist/read.d.ts.map +1 -0
- package/dist/read.js +38 -0
- package/dist/read.js.map +1 -0
- package/dist/schemas.d.ts +409 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +160 -0
- package/dist/schemas.js.map +1 -0
- package/dist/summary.d.ts +31 -0
- package/dist/summary.d.ts.map +1 -0
- package/dist/summary.js +64 -0
- package/dist/summary.js.map +1 -0
- package/dist/types.d.ts +184 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +36 -0
- package/dist/types.js.map +1 -0
- package/dist/wheel.d.ts +14 -0
- package/dist/wheel.d.ts.map +1 -0
- package/dist/wheel.js +74 -0
- package/dist/wheel.js.map +1 -0
- package/package.json +63 -4
package/dist/summary.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Counts a person reads first, and the capability claims of a whole mapping.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.mappingCapabilityClaims = mappingCapabilityClaims;
|
|
7
|
+
exports.summarize = summarize;
|
|
8
|
+
const capabilities_1 = require("@medicine-wheel/capabilities");
|
|
9
|
+
const ids_1 = require("./ids");
|
|
10
|
+
const lifecycle_1 = require("./lifecycle");
|
|
11
|
+
/**
|
|
12
|
+
* Every claim a mapping makes on a capability: a capability's own
|
|
13
|
+
* `providedBy`, each feature that realizes one — through its `realizes` field
|
|
14
|
+
* or a `realizes` relation — claimed for the feature's repository, and each
|
|
15
|
+
* `provides` relation.
|
|
16
|
+
*/
|
|
17
|
+
function mappingCapabilityClaims(mapping) {
|
|
18
|
+
const realized = [
|
|
19
|
+
...mapping.features.flatMap((f) => (f.realizes ? [{ feature: f.nodeId, capability: f.realizes }] : [])),
|
|
20
|
+
...mapping.relations.filter((r) => r.type === 'realizes').map((r) => ({ feature: r.from, capability: r.to })),
|
|
21
|
+
];
|
|
22
|
+
return [
|
|
23
|
+
...(0, capabilities_1.capabilityClaims)(mapping.capabilities),
|
|
24
|
+
...realized.flatMap(({ feature, capability }) => {
|
|
25
|
+
const provider = (0, ids_1.featureRepository)(feature);
|
|
26
|
+
return provider ? [{ capability, provider, via: feature }] : [];
|
|
27
|
+
}),
|
|
28
|
+
...mapping.relations.filter((r) => r.type === 'provides').map((r) => ({ capability: r.to, provider: r.from })),
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
function summarize(mapping, thresholds = lifecycle_1.ACTIVITY_THRESHOLDS) {
|
|
32
|
+
const byLifecycle = { unclassified: 0, prototype: 0, implementation: 0, maintained: 0, archived: 0 };
|
|
33
|
+
const byDrift = { converged: 0, drifted: 0, unobserved: 0, undeclared: 0 };
|
|
34
|
+
const byRevision = { pending: 0, revised: 0, affirmed: 0 };
|
|
35
|
+
const byStatus = { clear: 0, unclear: 0, undefinable: 0, 'needs-resolution': 0 };
|
|
36
|
+
const fields = {};
|
|
37
|
+
const readings = mapping.repositories.map((r) => (0, lifecycle_1.reconcileLifecycle)(r, thresholds));
|
|
38
|
+
for (const r of mapping.repositories) {
|
|
39
|
+
byLifecycle[r.lifecycle] += 1;
|
|
40
|
+
byStatus[r.status] += 1;
|
|
41
|
+
for (const f of r.fields)
|
|
42
|
+
fields[f] = (fields[f] ?? 0) + 1;
|
|
43
|
+
}
|
|
44
|
+
for (const reading of readings)
|
|
45
|
+
byDrift[reading.drift] += 1;
|
|
46
|
+
for (const row of [...mapping.repositories, ...mapping.features, ...mapping.capabilities, ...mapping.relations]) {
|
|
47
|
+
byRevision[row.revision] += 1;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
repositories: mapping.repositories.length,
|
|
51
|
+
features: mapping.features.length,
|
|
52
|
+
capabilities: mapping.capabilities.length,
|
|
53
|
+
relations: mapping.relations.length,
|
|
54
|
+
owners: mapping.owners.length,
|
|
55
|
+
byLifecycle,
|
|
56
|
+
byDrift,
|
|
57
|
+
byRevision,
|
|
58
|
+
byStatus,
|
|
59
|
+
fields,
|
|
60
|
+
shared: (0, capabilities_1.findSharedCapabilities)(mappingCapabilityClaims(mapping)),
|
|
61
|
+
readings,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../src/summary.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Facet types for @medicine-wheel/developer-repository-mapping.
|
|
3
|
+
*
|
|
4
|
+
* A repository mapping is how an owner says what each of their repositories
|
|
5
|
+
* is: what it has done, what it might do, which fields of study it stands in,
|
|
6
|
+
* whether it is a prototype or something distributed and maintained, which
|
|
7
|
+
* features it holds and how it relates to the other repositories. It lives as
|
|
8
|
+
* JSONL in `<owner>/<owner>/.miadi/repository-mapping/` and is read by tools,
|
|
9
|
+
* not only by people.
|
|
10
|
+
*
|
|
11
|
+
* Relational here means kinship and accountability between repositories: a
|
|
12
|
+
* fork carries an obligation to where it came from, a prototype stays the
|
|
13
|
+
* place an intent was first seen after it grows into an implementation. The
|
|
14
|
+
* entity-relationship drawing in `rispecs/developer-suite/repository-mapping/`
|
|
15
|
+
* is how those relations are stored, not what they mean.
|
|
16
|
+
*
|
|
17
|
+
* Every row carries `Attribution` from `@medicine-wheel/capabilities`: who
|
|
18
|
+
* wrote it, when, from what evidence, and whether a person has read it since.
|
|
19
|
+
*/
|
|
20
|
+
import type { DeveloperRelation } from '@medicine-wheel/ontology-core';
|
|
21
|
+
import type { Attribution, CapabilityFacet, NodeId, StatementStatus } from '@medicine-wheel/capabilities';
|
|
22
|
+
/**
|
|
23
|
+
* What kind of thing a repository is, as its owner's mapping declares it.
|
|
24
|
+
*
|
|
25
|
+
* - `unclassified` — not read yet.
|
|
26
|
+
* - `prototype` — explores an intent; its value is what it shows, not that it runs.
|
|
27
|
+
* - `implementation` — a concrete build of an intent, not (yet) distributed.
|
|
28
|
+
* - `maintained` — distributed (npm, PyPI, apt, a deployed service) and kept current.
|
|
29
|
+
* - `archived` — ended by its owner.
|
|
30
|
+
*
|
|
31
|
+
* How recently anyone committed is a separate reading ({@link ActivityClass}),
|
|
32
|
+
* observed from git, never declared.
|
|
33
|
+
*/
|
|
34
|
+
export type Lifecycle = 'unclassified' | 'prototype' | 'implementation' | 'maintained' | 'archived';
|
|
35
|
+
/**
|
|
36
|
+
* The events that move a repository between lifecycle states.
|
|
37
|
+
*
|
|
38
|
+
* `concretize` is the move from what a prototype explored to a concrete
|
|
39
|
+
* implementation **in the same repository**. When the intent continues in a
|
|
40
|
+
* different repository, the prototype keeps its state and a `grew-into`
|
|
41
|
+
* relation names where it went.
|
|
42
|
+
*/
|
|
43
|
+
export type LifecycleEvent = 'explore' | 'implement' | 'concretize' | 'release' | 'archive' | 'reopen';
|
|
44
|
+
/** Whose hands a repository is in. */
|
|
45
|
+
export type Origin = 'own' | 'agent' | 'community-fork';
|
|
46
|
+
/**
|
|
47
|
+
* How recently a repository was committed to, relative to when it was read.
|
|
48
|
+
* `empty` — no commits at all on the branch read.
|
|
49
|
+
*/
|
|
50
|
+
export type ActivityClass = 'active' | 'quiet' | 'dormant' | 'empty';
|
|
51
|
+
/**
|
|
52
|
+
* A declared lifecycle compared with what git shows.
|
|
53
|
+
*
|
|
54
|
+
* - `converged` — the declaration and the reading agree.
|
|
55
|
+
* - `drifted` — they disagree: 'maintained' with no commit in a year, 'archived' with commits this season.
|
|
56
|
+
* - `unobserved` — declared, never read from git.
|
|
57
|
+
* - `undeclared` — read from git, never classified.
|
|
58
|
+
*
|
|
59
|
+
* The comparison is the one `@medicine-wheel/infra`'s `reconcile` makes for
|
|
60
|
+
* machines. The type is not reused: `unrealized` reads wrong for a repository
|
|
61
|
+
* that simply has not been read yet.
|
|
62
|
+
*/
|
|
63
|
+
export type LifecycleDrift = 'converged' | 'drifted' | 'unobserved' | 'undeclared';
|
|
64
|
+
/**
|
|
65
|
+
* A reading of a repository's git history, taken at a moment, by someone.
|
|
66
|
+
* Commits are counted on the branch that was checked out.
|
|
67
|
+
*/
|
|
68
|
+
export interface ActivityReading {
|
|
69
|
+
observedBy: string;
|
|
70
|
+
/** ISO 8601. Also the reference time `classifyActivity` measures from. */
|
|
71
|
+
observedAt: string;
|
|
72
|
+
commits: number;
|
|
73
|
+
commitsLast90Days: number;
|
|
74
|
+
firstCommitAt?: string;
|
|
75
|
+
lastCommitAt?: string;
|
|
76
|
+
tags: number;
|
|
77
|
+
branch?: string;
|
|
78
|
+
head?: string;
|
|
79
|
+
}
|
|
80
|
+
/** A repository. Annotates a `RelationalNode` of type `'knowledge'` (`metadata.kind: 'repository'`). */
|
|
81
|
+
export interface RepositoryFacet extends Attribution {
|
|
82
|
+
/** `repository:<owner>/<name>` */
|
|
83
|
+
nodeId: NodeId;
|
|
84
|
+
origin: Origin;
|
|
85
|
+
lifecycle: Lifecycle;
|
|
86
|
+
/** What it is and has done. At most 55 words. Required when `status` is `clear` or `unclear`. */
|
|
87
|
+
purpose?: string;
|
|
88
|
+
/** What it might do. At most 55 words. */
|
|
89
|
+
horizon?: string;
|
|
90
|
+
/** The status of `purpose`. */
|
|
91
|
+
status: StatementStatus;
|
|
92
|
+
/** `research-field:<slug>` node ids. */
|
|
93
|
+
fields: NodeId[];
|
|
94
|
+
/** `prototype:<slug>` node ids — the Miadi prototype seam's nodes, which hold the public and editing addresses. */
|
|
95
|
+
prototypes: NodeId[];
|
|
96
|
+
/** The `human` or `agent` node of whoever holds it, when the wheel knows them. */
|
|
97
|
+
holder?: NodeId;
|
|
98
|
+
/** The latest git reading. */
|
|
99
|
+
observed?: ActivityReading;
|
|
100
|
+
}
|
|
101
|
+
/** A feature observed in one repository. Annotates a `knowledge` node (`metadata.kind: 'feature'`). */
|
|
102
|
+
export interface FeatureFacet extends Attribution {
|
|
103
|
+
/** `feature:<owner>/<name>#<slug>` */
|
|
104
|
+
nodeId: NodeId;
|
|
105
|
+
/** → `RepositoryFacet.nodeId` */
|
|
106
|
+
repository: NodeId;
|
|
107
|
+
name: string;
|
|
108
|
+
/** At most 55 words. Required when `status` is `clear` or `unclear`. */
|
|
109
|
+
statement?: string;
|
|
110
|
+
status: StatementStatus;
|
|
111
|
+
/** → `CapabilityFacet.nodeId` */
|
|
112
|
+
realizes?: NodeId;
|
|
113
|
+
}
|
|
114
|
+
/** The relation names a mapping may write. */
|
|
115
|
+
export type DeveloperEdgeName = DeveloperRelation['relationship_type'];
|
|
116
|
+
/** One relation between two nodes of a mapping (or of another owner's). */
|
|
117
|
+
export interface RelationRow extends Attribution {
|
|
118
|
+
from: NodeId;
|
|
119
|
+
to: NodeId;
|
|
120
|
+
type: DeveloperEdgeName;
|
|
121
|
+
/** Why the two are related. At most 55 words. */
|
|
122
|
+
description?: string;
|
|
123
|
+
}
|
|
124
|
+
/** An owner hub a meta hub reads from. Only a `meta` manifest has these. */
|
|
125
|
+
export interface OwnerRegistration {
|
|
126
|
+
/** GitHub login: 'miadisabelle' */
|
|
127
|
+
owner: string;
|
|
128
|
+
/** '<owner>/<owner>' */
|
|
129
|
+
hub: string;
|
|
130
|
+
/**
|
|
131
|
+
* Where the hub's mapping folder is read from: a local path (relative to the
|
|
132
|
+
* meta hub's mapping folder) or an https URL of the folder. Absent means
|
|
133
|
+
* GitHub, `https://raw.githubusercontent.com/<hub>/HEAD/.miadi/repository-mapping/`.
|
|
134
|
+
*/
|
|
135
|
+
source?: string;
|
|
136
|
+
/** The `human` or `agent` node of the owner, when the wheel knows them. */
|
|
137
|
+
holder?: NodeId;
|
|
138
|
+
registeredBy: string;
|
|
139
|
+
registeredAt: string;
|
|
140
|
+
}
|
|
141
|
+
/** `manifest.json` — what a mapping folder is. */
|
|
142
|
+
export interface MappingManifest {
|
|
143
|
+
schema: 'medicine-wheel/repository-mapping';
|
|
144
|
+
version: 1;
|
|
145
|
+
owner: string;
|
|
146
|
+
/** '<owner>/<owner>' */
|
|
147
|
+
hub: string;
|
|
148
|
+
/** `owner` maps its owner's repositories. `meta` does that too, and reads the hubs it registers. */
|
|
149
|
+
kind: 'owner' | 'meta';
|
|
150
|
+
description?: string;
|
|
151
|
+
}
|
|
152
|
+
/** One mapping folder, read. */
|
|
153
|
+
export interface RepositoryMapping {
|
|
154
|
+
manifest: MappingManifest;
|
|
155
|
+
repositories: RepositoryFacet[];
|
|
156
|
+
features: FeatureFacet[];
|
|
157
|
+
capabilities: CapabilityFacet[];
|
|
158
|
+
relations: RelationRow[];
|
|
159
|
+
owners: OwnerRegistration[];
|
|
160
|
+
}
|
|
161
|
+
/** Something a reader of a mapping should know: an error stops a writer, a warning does not. */
|
|
162
|
+
export interface MappingIssue {
|
|
163
|
+
severity: 'error' | 'warning';
|
|
164
|
+
/** The file the row is in, or the hub it came from. */
|
|
165
|
+
file?: string;
|
|
166
|
+
/** 1-based line in a JSONL file. */
|
|
167
|
+
line?: number;
|
|
168
|
+
nodeId?: string;
|
|
169
|
+
message: string;
|
|
170
|
+
}
|
|
171
|
+
/** Where a mapping folder sits inside an owner hub. */
|
|
172
|
+
export declare const MAPPING_DIR = ".miadi/repository-mapping";
|
|
173
|
+
export declare const MAPPING_FILES: {
|
|
174
|
+
readonly manifest: "manifest.json";
|
|
175
|
+
readonly repositories: "repositories.jsonl";
|
|
176
|
+
readonly features: "features.jsonl";
|
|
177
|
+
readonly capabilities: "capabilities.jsonl";
|
|
178
|
+
readonly relations: "relations.jsonl";
|
|
179
|
+
readonly owners: "owners.jsonl";
|
|
180
|
+
};
|
|
181
|
+
export declare const MAPPING_SCHEMA: "medicine-wheel/repository-mapping";
|
|
182
|
+
/** How many features a prototype is read for: its three core ones. */
|
|
183
|
+
export declare const PROTOTYPE_CORE_FEATURES = 3;
|
|
184
|
+
//# 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,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Facet types for @medicine-wheel/developer-repository-mapping.
|
|
4
|
+
*
|
|
5
|
+
* A repository mapping is how an owner says what each of their repositories
|
|
6
|
+
* is: what it has done, what it might do, which fields of study it stands in,
|
|
7
|
+
* whether it is a prototype or something distributed and maintained, which
|
|
8
|
+
* features it holds and how it relates to the other repositories. It lives as
|
|
9
|
+
* JSONL in `<owner>/<owner>/.miadi/repository-mapping/` and is read by tools,
|
|
10
|
+
* not only by people.
|
|
11
|
+
*
|
|
12
|
+
* Relational here means kinship and accountability between repositories: a
|
|
13
|
+
* fork carries an obligation to where it came from, a prototype stays the
|
|
14
|
+
* place an intent was first seen after it grows into an implementation. The
|
|
15
|
+
* entity-relationship drawing in `rispecs/developer-suite/repository-mapping/`
|
|
16
|
+
* is how those relations are stored, not what they mean.
|
|
17
|
+
*
|
|
18
|
+
* Every row carries `Attribution` from `@medicine-wheel/capabilities`: who
|
|
19
|
+
* wrote it, when, from what evidence, and whether a person has read it since.
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.PROTOTYPE_CORE_FEATURES = exports.MAPPING_SCHEMA = exports.MAPPING_FILES = exports.MAPPING_DIR = void 0;
|
|
23
|
+
/** Where a mapping folder sits inside an owner hub. */
|
|
24
|
+
exports.MAPPING_DIR = '.miadi/repository-mapping';
|
|
25
|
+
exports.MAPPING_FILES = {
|
|
26
|
+
manifest: 'manifest.json',
|
|
27
|
+
repositories: 'repositories.jsonl',
|
|
28
|
+
features: 'features.jsonl',
|
|
29
|
+
capabilities: 'capabilities.jsonl',
|
|
30
|
+
relations: 'relations.jsonl',
|
|
31
|
+
owners: 'owners.jsonl',
|
|
32
|
+
};
|
|
33
|
+
exports.MAPPING_SCHEMA = 'medicine-wheel/repository-mapping';
|
|
34
|
+
/** How many features a prototype is read for: its three core ones. */
|
|
35
|
+
exports.PROTOTYPE_CORE_FEATURES = 3;
|
|
36
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AA6KH,uDAAuD;AAC1C,QAAA,WAAW,GAAG,2BAA2B,CAAC;AAE1C,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAE,eAAe;IACzB,YAAY,EAAE,oBAAoB;IAClC,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,oBAAoB;IAClC,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,cAAc;CACd,CAAC;AAEE,QAAA,cAAc,GAAG,mCAA4C,CAAC;AAE3E,sEAAsE;AACzD,QAAA,uBAAuB,GAAG,CAAC,CAAC"}
|
package/dist/wheel.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A mapping as the wheel holds it: `RelationalNode`s riding `knowledge` with
|
|
3
|
+
* `metadata.kind`, and `RelationalEdge`s named from the governed kinship
|
|
4
|
+
* vocabulary. Pure; writing them into a wheel is the caller's act.
|
|
5
|
+
*
|
|
6
|
+
* Edge identity is the directional `from:to` pair, as the wheel's storage
|
|
7
|
+
* reads it. When two relations join the same pair in the same direction, the
|
|
8
|
+
* first one is kept.
|
|
9
|
+
*/
|
|
10
|
+
import { type RelationalEdge, type RelationalNode } from '@medicine-wheel/ontology-core';
|
|
11
|
+
import type { RepositoryMapping } from './types';
|
|
12
|
+
export declare function toWheelNodes(mapping: RepositoryMapping): RelationalNode[];
|
|
13
|
+
export declare function toWheelEdges(mapping: RepositoryMapping): RelationalEdge[];
|
|
14
|
+
//# sourceMappingURL=wheel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wheel.d.ts","sourceRoot":"","sources":["../src/wheel.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAoBjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,EAAE,CASzE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,EAAE,CA8BzE"}
|
package/dist/wheel.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* A mapping as the wheel holds it: `RelationalNode`s riding `knowledge` with
|
|
4
|
+
* `metadata.kind`, and `RelationalEdge`s named from the governed kinship
|
|
5
|
+
* vocabulary. Pure; writing them into a wheel is the caller's act.
|
|
6
|
+
*
|
|
7
|
+
* Edge identity is the directional `from:to` pair, as the wheel's storage
|
|
8
|
+
* reads it. When two relations join the same pair in the same direction, the
|
|
9
|
+
* first one is kept.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.toWheelNodes = toWheelNodes;
|
|
13
|
+
exports.toWheelEdges = toWheelEdges;
|
|
14
|
+
const ontology_core_1 = require("@medicine-wheel/ontology-core");
|
|
15
|
+
const ids_1 = require("./ids");
|
|
16
|
+
function node(kind, row, name) {
|
|
17
|
+
const { nodeId, ...facet } = row;
|
|
18
|
+
const { nodeType, direction } = ontology_core_1.DEVELOPER_ENTITY_BINDING[kind];
|
|
19
|
+
return {
|
|
20
|
+
id: nodeId,
|
|
21
|
+
name,
|
|
22
|
+
type: nodeType,
|
|
23
|
+
...(direction ? { direction } : {}),
|
|
24
|
+
metadata: { kind, ...facet },
|
|
25
|
+
created_at: row.statedAt,
|
|
26
|
+
updated_at: row.revisedAt ?? row.statedAt,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function toWheelNodes(mapping) {
|
|
30
|
+
return [
|
|
31
|
+
...mapping.repositories.map((r) => {
|
|
32
|
+
const repo = (0, ids_1.parseRepositoryNodeId)(r.nodeId);
|
|
33
|
+
return node('repository', r, repo ? `${repo.owner}/${repo.name}` : r.nodeId);
|
|
34
|
+
}),
|
|
35
|
+
...mapping.features.map((f) => node('feature', f, f.name)),
|
|
36
|
+
...mapping.capabilities.map((c) => node('capability', c, c.name)),
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
function toWheelEdges(mapping) {
|
|
40
|
+
const edges = new Map();
|
|
41
|
+
const add = (from, to, type, created, description) => {
|
|
42
|
+
const id = `${from}:${to}`;
|
|
43
|
+
if (edges.has(id))
|
|
44
|
+
return;
|
|
45
|
+
edges.set(id, {
|
|
46
|
+
id,
|
|
47
|
+
from_id: from,
|
|
48
|
+
to_id: to,
|
|
49
|
+
relationship_type: type,
|
|
50
|
+
strength: 1,
|
|
51
|
+
ceremony_honored: false,
|
|
52
|
+
obligations: [...((0, ontology_core_1.getKinshipEdgeType)(type)?.defaultObligations ?? [])],
|
|
53
|
+
...(description ? { description } : {}),
|
|
54
|
+
created_at: created,
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
for (const rel of mapping.relations)
|
|
58
|
+
add(rel.from, rel.to, rel.type, rel.statedAt, rel.description);
|
|
59
|
+
for (const f of mapping.features) {
|
|
60
|
+
add(f.nodeId, f.repository, 'part-of', f.statedAt);
|
|
61
|
+
if (f.realizes)
|
|
62
|
+
add(f.nodeId, f.realizes, 'realizes', f.statedAt);
|
|
63
|
+
}
|
|
64
|
+
for (const c of mapping.capabilities) {
|
|
65
|
+
for (const provider of c.providedBy)
|
|
66
|
+
add(provider, c.nodeId, 'provides', c.statedAt);
|
|
67
|
+
}
|
|
68
|
+
for (const r of mapping.repositories) {
|
|
69
|
+
for (const field of r.fields)
|
|
70
|
+
add(r.nodeId, field, 'field-aligns-with', r.statedAt);
|
|
71
|
+
}
|
|
72
|
+
return [...edges.values()];
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=wheel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wheel.js","sourceRoot":"","sources":["../src/wheel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medicine-wheel/developer-repository-mapping",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.22.0",
|
|
4
|
+
"description": "Repository mapping for the Medicine Wheel Developer Suite — owner hubs of JSONL rows in <owner>/<owner>/.miadi/repository-mapping/, a lifecycle state machine checked against git, a meta mapping that reads other hubs without copying them, the projection into wheel nodes and edges, and the mw-repomap CLI with a small web page",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"mw-repomap": "dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/index.js",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./node": {
|
|
18
|
+
"types": "./dist/node/index.d.ts",
|
|
19
|
+
"import": "./dist/node/index.js",
|
|
20
|
+
"require": "./dist/node/index.js",
|
|
21
|
+
"default": "./dist/node/index.js"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"sideEffects": false,
|
|
25
|
+
"files": [
|
|
26
|
+
"dist",
|
|
27
|
+
"README.md"
|
|
28
|
+
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc && node -e \"require('fs').chmodSync('dist/cli.js', 0o755)\"",
|
|
31
|
+
"dev": "tsc --watch",
|
|
32
|
+
"lint": "tsc --noEmit",
|
|
33
|
+
"clean": "rm -rf dist",
|
|
34
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"medicine-wheel",
|
|
38
|
+
"repository-mapping",
|
|
39
|
+
"developer-suite",
|
|
40
|
+
"inventory",
|
|
41
|
+
"relational-ontology",
|
|
42
|
+
"jsonl",
|
|
43
|
+
"prototype",
|
|
44
|
+
"miadi"
|
|
45
|
+
],
|
|
46
|
+
"author": "IAIP Collaborative - Shawinigan, QC",
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "git+https://github.com/jgwill/medicine-wheel.git",
|
|
51
|
+
"directory": "src/developer-repository-mapping"
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=19"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@medicine-wheel/capabilities": "^0.22.0",
|
|
58
|
+
"@medicine-wheel/ontology-core": "^0.22.0",
|
|
59
|
+
"zod": "^3.23.0"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@types/node": "^20.10.0",
|
|
63
|
+
"typescript": "^5.3.0"
|
|
64
|
+
}
|
|
65
|
+
}
|