@gyoungwe/plugin-api 0.0.0-stage → 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/README.md +14 -2
- package/dist/index.d.ts +247 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +210 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge.d.ts +486 -0
- package/dist/knowledge.d.ts.map +1 -0
- package/dist/knowledge.js +251 -0
- package/dist/knowledge.js.map +1 -0
- package/package.json +39 -5
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-neutral knowledge contracts.
|
|
3
|
+
*
|
|
4
|
+
* This module intentionally has no dependency on Drone implementation
|
|
5
|
+
* packages. It is the contract that a future installable knowledge plugin
|
|
6
|
+
* can share with native Pi and Desktop hosts.
|
|
7
|
+
*/
|
|
8
|
+
export const KNOWLEDGE_CONTRACT_VERSION = 1;
|
|
9
|
+
export const RESEARCH_CONTRACT_SCHEMA_VERSION = 1;
|
|
10
|
+
function canonicalize(value) {
|
|
11
|
+
if (Array.isArray(value))
|
|
12
|
+
return value.map(canonicalize);
|
|
13
|
+
if (!value || typeof value !== "object")
|
|
14
|
+
return value;
|
|
15
|
+
return Object.fromEntries(Object.entries(value)
|
|
16
|
+
.filter(([, item]) => item !== undefined)
|
|
17
|
+
.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
18
|
+
.map(([key, item]) => [key, canonicalize(item)]));
|
|
19
|
+
}
|
|
20
|
+
/** Synchronous SHA-256 keeps the contract usable in native Pi and browsers. */
|
|
21
|
+
function sha256(text) {
|
|
22
|
+
const bytes = [];
|
|
23
|
+
for (const character of text) {
|
|
24
|
+
let point = character.codePointAt(0) ?? 0;
|
|
25
|
+
if (point >= 0xd800 && point <= 0xdfff)
|
|
26
|
+
point = 0xfffd;
|
|
27
|
+
if (point < 0x80)
|
|
28
|
+
bytes.push(point);
|
|
29
|
+
else if (point < 0x800)
|
|
30
|
+
bytes.push(0xc0 | (point >> 6), 0x80 | (point & 63));
|
|
31
|
+
else if (point < 0x10000)
|
|
32
|
+
bytes.push(0xe0 | (point >> 12), 0x80 | ((point >> 6) & 63), 0x80 | (point & 63));
|
|
33
|
+
else
|
|
34
|
+
bytes.push(0xf0 | (point >> 18), 0x80 | ((point >> 12) & 63), 0x80 | ((point >> 6) & 63), 0x80 | (point & 63));
|
|
35
|
+
}
|
|
36
|
+
const length = bytes.length * 8;
|
|
37
|
+
bytes.push(0x80);
|
|
38
|
+
while (bytes.length % 64 !== 56)
|
|
39
|
+
bytes.push(0);
|
|
40
|
+
const high = Math.floor(length / 0x100000000);
|
|
41
|
+
for (const word of [high, length >>> 0])
|
|
42
|
+
for (let shift = 24; shift >= 0; shift -= 8)
|
|
43
|
+
bytes.push((word >>> shift) & 255);
|
|
44
|
+
const state = [
|
|
45
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
|
|
46
|
+
];
|
|
47
|
+
const constants = [
|
|
48
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
49
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
50
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
51
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
52
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
53
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
54
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
55
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
|
|
56
|
+
];
|
|
57
|
+
const rotate = (value, bits) => (value >>> bits) | (value << (32 - bits));
|
|
58
|
+
for (let offset = 0; offset < bytes.length; offset += 64) {
|
|
59
|
+
const words = [];
|
|
60
|
+
for (let i = 0; i < 16; i += 1) {
|
|
61
|
+
const j = offset + i * 4;
|
|
62
|
+
words[i] =
|
|
63
|
+
((bytes[j] ?? 0) << 24) |
|
|
64
|
+
((bytes[j + 1] ?? 0) << 16) |
|
|
65
|
+
((bytes[j + 2] ?? 0) << 8) |
|
|
66
|
+
(bytes[j + 3] ?? 0);
|
|
67
|
+
}
|
|
68
|
+
for (let i = 16; i < 64; i += 1) {
|
|
69
|
+
const x = words[i - 15] ?? 0;
|
|
70
|
+
const y = words[i - 2] ?? 0;
|
|
71
|
+
words[i] =
|
|
72
|
+
((words[i - 16] ?? 0) +
|
|
73
|
+
(rotate(x, 7) ^ rotate(x, 18) ^ (x >>> 3)) +
|
|
74
|
+
(words[i - 7] ?? 0) +
|
|
75
|
+
(rotate(y, 17) ^ rotate(y, 19) ^ (y >>> 10))) |
|
|
76
|
+
0;
|
|
77
|
+
}
|
|
78
|
+
let [a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0] = state;
|
|
79
|
+
for (let i = 0; i < 64; i += 1) {
|
|
80
|
+
const t1 = (h +
|
|
81
|
+
(rotate(e, 6) ^ rotate(e, 11) ^ rotate(e, 25)) +
|
|
82
|
+
((e & f) ^ (~e & g)) +
|
|
83
|
+
(constants[i] ?? 0) +
|
|
84
|
+
(words[i] ?? 0)) |
|
|
85
|
+
0;
|
|
86
|
+
const t2 = ((rotate(a, 2) ^ rotate(a, 13) ^ rotate(a, 22)) + ((a & b) ^ (a & c) ^ (b & c))) | 0;
|
|
87
|
+
h = g;
|
|
88
|
+
g = f;
|
|
89
|
+
f = e;
|
|
90
|
+
e = (d + t1) | 0;
|
|
91
|
+
d = c;
|
|
92
|
+
c = b;
|
|
93
|
+
b = a;
|
|
94
|
+
a = (t1 + t2) | 0;
|
|
95
|
+
}
|
|
96
|
+
for (const [i, value] of [a, b, c, d, e, f, g, h].entries())
|
|
97
|
+
state[i] = ((state[i] ?? 0) + value) | 0;
|
|
98
|
+
}
|
|
99
|
+
return state.map((value) => (value >>> 0).toString(16).padStart(8, "0")).join("");
|
|
100
|
+
}
|
|
101
|
+
export function canonicalContractJson(value) {
|
|
102
|
+
return JSON.stringify(canonicalize(value));
|
|
103
|
+
}
|
|
104
|
+
export function contractContentHash(value) {
|
|
105
|
+
return sha256(canonicalContractJson(value));
|
|
106
|
+
}
|
|
107
|
+
function computeResearchContractHash(value) {
|
|
108
|
+
const { contentHash: _contentHash, decisionHash: _decisionHash, ...body } = value;
|
|
109
|
+
return contractContentHash(body);
|
|
110
|
+
}
|
|
111
|
+
function assertContract(value) {
|
|
112
|
+
if (value.schemaVersion !== RESEARCH_CONTRACT_SCHEMA_VERSION)
|
|
113
|
+
throw new Error("Invalid schemaVersion");
|
|
114
|
+
if (!Number.isSafeInteger(value.revision) || value.revision < 0)
|
|
115
|
+
throw new Error("Invalid revision");
|
|
116
|
+
if (!/^[a-f0-9]{64}$/.test(value.contentHash))
|
|
117
|
+
throw new Error("Invalid contentHash");
|
|
118
|
+
if (!Array.isArray(value.parentRefs))
|
|
119
|
+
throw new Error("Invalid parentRefs");
|
|
120
|
+
if (value.contentHash !== computeResearchContractHash(value))
|
|
121
|
+
throw new Error("Contract contentHash mismatch");
|
|
122
|
+
}
|
|
123
|
+
function base(body, options = {}) {
|
|
124
|
+
const record = {
|
|
125
|
+
...body,
|
|
126
|
+
schemaVersion: RESEARCH_CONTRACT_SCHEMA_VERSION,
|
|
127
|
+
revision: options.revision ?? 0,
|
|
128
|
+
parentRefs: [...(options.parentRefs ?? [])],
|
|
129
|
+
};
|
|
130
|
+
const result = {
|
|
131
|
+
...record,
|
|
132
|
+
contentHash: computeResearchContractHash(record),
|
|
133
|
+
};
|
|
134
|
+
assertContract(result);
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
export function createKnowledgeSnapshot(input) {
|
|
138
|
+
return base({ ...input, kind: "knowledge-snapshot" }, input);
|
|
139
|
+
}
|
|
140
|
+
function requireRef(ref, label) {
|
|
141
|
+
if (!ref || (typeof ref === "string" ? !ref.trim() : !ref.id.trim() || !ref.kind.trim()))
|
|
142
|
+
throw new Error(`${label} is required`);
|
|
143
|
+
return ref;
|
|
144
|
+
}
|
|
145
|
+
function refOf(value) {
|
|
146
|
+
return { kind: value.kind, id: value.id, revision: value.revision, contentHash: value.contentHash };
|
|
147
|
+
}
|
|
148
|
+
export function createEvolutionCandidate(input) {
|
|
149
|
+
const minimumObservations = input.minimumObservations ?? 2;
|
|
150
|
+
if (!input.id.trim() || !input.proposal.trim())
|
|
151
|
+
throw new Error("Evolution candidate identity and proposal are required");
|
|
152
|
+
if (!Number.isSafeInteger(input.observationCount) || input.observationCount < minimumObservations)
|
|
153
|
+
throw new Error("Evolution candidate requires repeated observations before approval");
|
|
154
|
+
if (!Number.isSafeInteger(minimumObservations) || minimumObservations < 2)
|
|
155
|
+
throw new Error("Evolution candidate minimum observations must be at least two");
|
|
156
|
+
if (!input.runRefs.length || !input.experienceRefs.length)
|
|
157
|
+
throw new Error("Evolution candidate lineage is required");
|
|
158
|
+
if (input.experienceRefs.length < minimumObservations)
|
|
159
|
+
throw new Error("Evolution candidate experience lineage must cover every required observation");
|
|
160
|
+
return base({
|
|
161
|
+
kind: "evolution-candidate",
|
|
162
|
+
id: input.id,
|
|
163
|
+
projectRef: requireRef(input.projectRef, "projectRef"),
|
|
164
|
+
runRefs: [...input.runRefs],
|
|
165
|
+
knowledgeSnapshotRefs: [...(input.knowledgeSnapshotRefs ?? [])],
|
|
166
|
+
experienceRefs: [...input.experienceRefs],
|
|
167
|
+
observationCount: input.observationCount,
|
|
168
|
+
minimumObservations,
|
|
169
|
+
proposal: input.proposal,
|
|
170
|
+
status: "proposed",
|
|
171
|
+
executionEligible: false,
|
|
172
|
+
createdAt: input.createdAt,
|
|
173
|
+
updatedAt: input.createdAt,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
export function approveEvolutionCandidate(candidate, approvalRef, updatedAt) {
|
|
177
|
+
if (candidate.status !== "proposed")
|
|
178
|
+
throw new Error("Only a proposed evolution candidate can be approved");
|
|
179
|
+
if (candidate.observationCount < candidate.minimumObservations)
|
|
180
|
+
throw new Error("Evolution candidate does not meet its repeated-observation gate");
|
|
181
|
+
const approval = requireRef(approvalRef, "approvalRef");
|
|
182
|
+
return base({
|
|
183
|
+
...candidate,
|
|
184
|
+
status: "approved",
|
|
185
|
+
executionEligible: true,
|
|
186
|
+
approvalRef: approval,
|
|
187
|
+
updatedAt,
|
|
188
|
+
}, { revision: candidate.revision + 1, parentRefs: [refOf(candidate), approval] });
|
|
189
|
+
}
|
|
190
|
+
export function supersedeEvolutionCandidate(candidate, supersedingRef, updatedAt) {
|
|
191
|
+
if (candidate.status === "revoked")
|
|
192
|
+
throw new Error("A revoked evolution candidate cannot be superseded");
|
|
193
|
+
const superseding = requireRef(supersedingRef, "supersedingRef");
|
|
194
|
+
return base({
|
|
195
|
+
...candidate,
|
|
196
|
+
status: "superseded",
|
|
197
|
+
executionEligible: false,
|
|
198
|
+
supersedesRef: superseding,
|
|
199
|
+
updatedAt,
|
|
200
|
+
}, { revision: candidate.revision + 1, parentRefs: [refOf(candidate), superseding] });
|
|
201
|
+
}
|
|
202
|
+
export function revokeEvolutionCandidate(candidate, revokedByRef, reason, updatedAt) {
|
|
203
|
+
if (!reason.trim())
|
|
204
|
+
throw new Error("Revocation reason is required");
|
|
205
|
+
const revokedBy = requireRef(revokedByRef, "revokedByRef");
|
|
206
|
+
return base({
|
|
207
|
+
...candidate,
|
|
208
|
+
status: "revoked",
|
|
209
|
+
executionEligible: false,
|
|
210
|
+
revokedByRef: revokedBy,
|
|
211
|
+
reason,
|
|
212
|
+
updatedAt,
|
|
213
|
+
}, { revision: candidate.revision + 1, parentRefs: [refOf(candidate), revokedBy] });
|
|
214
|
+
}
|
|
215
|
+
export function createKnowledgeReuseDecision(input) {
|
|
216
|
+
return base({
|
|
217
|
+
kind: "knowledge-reuse-decision",
|
|
218
|
+
id: input.id,
|
|
219
|
+
projectRef: requireRef(input.projectRef, "projectRef"),
|
|
220
|
+
runRef: requireRef(input.runRef, "runRef"),
|
|
221
|
+
snapshotRef: requireRef(input.snapshotRef, "snapshotRef"),
|
|
222
|
+
status: input.reusable ? "eligible" : "blocked",
|
|
223
|
+
reusable: input.reusable,
|
|
224
|
+
reasons: [...input.reasons],
|
|
225
|
+
executionEligible: false,
|
|
226
|
+
evaluatedAt: input.evaluatedAt,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
export function approveKnowledgeReuse(decision, approvalRef, evaluatedAt) {
|
|
230
|
+
if (decision.status !== "eligible" || !decision.reusable)
|
|
231
|
+
throw new Error("Only an eligible reuse decision can be approved");
|
|
232
|
+
const approval = requireRef(approvalRef, "approvalRef");
|
|
233
|
+
return base({
|
|
234
|
+
...decision,
|
|
235
|
+
status: "approved",
|
|
236
|
+
executionEligible: true,
|
|
237
|
+
approvalRef: approval,
|
|
238
|
+
evaluatedAt,
|
|
239
|
+
}, { revision: decision.revision + 1, parentRefs: [refOf(decision), approval] });
|
|
240
|
+
}
|
|
241
|
+
export function revokeKnowledgeReuse(decision, revokedByRef, evaluatedAt) {
|
|
242
|
+
const revokedBy = requireRef(revokedByRef, "revokedByRef");
|
|
243
|
+
return base({
|
|
244
|
+
...decision,
|
|
245
|
+
status: "revoked",
|
|
246
|
+
executionEligible: false,
|
|
247
|
+
revokedByRef: revokedBy,
|
|
248
|
+
evaluatedAt,
|
|
249
|
+
}, { revision: decision.revision + 1, parentRefs: [refOf(decision), revokedBy] });
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=knowledge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
"name": "@gyoungwe/plugin-api",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Stable host contracts for Drone capability plugins",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/Gyoungwe/Drone.git",
|
|
12
|
+
"directory": "packages/plugin-api"
|
|
13
|
+
},
|
|
14
|
+
"type": "module",
|
|
15
|
+
"main": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"import": "./dist/index.js",
|
|
21
|
+
"default": "./dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./knowledge": {
|
|
24
|
+
"types": "./dist/knowledge.d.ts",
|
|
25
|
+
"import": "./dist/knowledge.js",
|
|
26
|
+
"default": "./dist/knowledge.js"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"README.md",
|
|
32
|
+
"package.json"
|
|
33
|
+
],
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsc -p tsconfig.build.json",
|
|
36
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
37
|
+
"check": "npm run typecheck && npm run build && node ../../scripts/check-plugin-api.mjs --package-only",
|
|
38
|
+
"test": "npm run check && node --test test/index.test.mjs"
|
|
39
|
+
}
|
|
40
|
+
}
|