@lucern/contracts 0.1.0-alpha.3 → 0.1.1-alpha.1
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/dist/index.d.ts +2003 -29
- package/dist/index.js +5627 -30
- package/package.json +15 -58
- package/src/agents/v1.ts +8 -0
- package/src/api-enums.contract.ts +183 -0
- package/{dist/auth-context.contract.js → src/auth-context.contract.ts} +1 -1
- package/{dist/auth-session.contract.js → src/auth-session.contract.ts} +1 -1
- package/src/auth.contract.ts +162 -0
- package/src/beliefs/v1.ts +8 -0
- package/src/context-pack.contract.ts +704 -0
- package/src/convex-admin.contract.ts +14 -0
- package/{dist/events-types.contract.js → src/events-types.contract.ts} +1 -1
- package/src/events.contract.ts +376 -0
- package/src/evidence/v1.ts +8 -0
- package/src/gateway.contract.ts +151 -0
- package/src/graph/v1.ts +8 -0
- package/src/ids.contract.ts +36 -0
- package/src/index.ts +30 -0
- package/src/lens-filter.contract.ts +183 -0
- package/src/lens-workflow.contract.ts +162 -0
- package/src/mcp-tools.contract.ts +3636 -0
- package/src/ontologies/v1.ts +8 -0
- package/{dist/ontology-matching.contract.js → src/ontology-matching.contract.ts} +1 -1
- package/src/prompt.contract.ts +50 -0
- package/src/questions/v1.ts +8 -0
- package/src/sdk-methods.contract.ts +522 -0
- package/src/sdk-tools.contract.ts +1545 -0
- package/src/text-matching.contract.ts +347 -0
- package/{dist/topic-scope.contract.js → src/topic-scope.contract.ts} +1 -1
- package/src/topics/v1.ts +8 -0
- package/{dist/v1/agents/v1.d.ts → src/v1/agents/v1.ts} +0 -1
- package/{dist/v1/beliefs/v1.d.ts → src/v1/beliefs/v1.ts} +0 -1
- package/{dist/v1/evidence/v1.d.ts → src/v1/evidence/v1.ts} +0 -1
- package/{dist/v1/graph/v1.d.ts → src/v1/graph/v1.ts} +0 -1
- package/src/v1/ontologies/v1.ts +276 -0
- package/{dist/v1/questions/v1.d.ts → src/v1/questions/v1.ts} +0 -1
- package/src/v1/topics/v1.ts +79 -0
- package/{dist/v1/worktrees/v1.d.ts → src/v1/worktrees/v1.ts} +0 -1
- package/src/workflow-runtime.contract.ts +440 -0
- package/src/worktrees/v1.ts +8 -0
- package/tsconfig.json +9 -0
- package/README.md +0 -43
- package/dist/api-enums.contract.d.ts +0 -59
- package/dist/api-enums.contract.d.ts.map +0 -1
- package/dist/api-enums.contract.js +0 -148
- package/dist/api-enums.contract.js.map +0 -1
- package/dist/auth-context.contract.d.ts +0 -9
- package/dist/auth-context.contract.d.ts.map +0 -1
- package/dist/auth-context.contract.js.map +0 -1
- package/dist/auth-session.contract.d.ts +0 -9
- package/dist/auth-session.contract.d.ts.map +0 -1
- package/dist/auth-session.contract.js.map +0 -1
- package/dist/auth.contract.d.ts +0 -89
- package/dist/auth.contract.d.ts.map +0 -1
- package/dist/auth.contract.js +0 -58
- package/dist/auth.contract.js.map +0 -1
- package/dist/context-pack.contract.d.ts +0 -495
- package/dist/context-pack.contract.d.ts.map +0 -1
- package/dist/context-pack.contract.js +0 -170
- package/dist/context-pack.contract.js.map +0 -1
- package/dist/convex-admin.contract.d.ts +0 -6
- package/dist/convex-admin.contract.d.ts.map +0 -1
- package/dist/convex-admin.contract.js +0 -2
- package/dist/convex-admin.contract.js.map +0 -1
- package/dist/events-types.contract.d.ts +0 -9
- package/dist/events-types.contract.d.ts.map +0 -1
- package/dist/events-types.contract.js.map +0 -1
- package/dist/events.contract.d.ts +0 -177
- package/dist/events.contract.d.ts.map +0 -1
- package/dist/events.contract.js +0 -160
- package/dist/events.contract.js.map +0 -1
- package/dist/gateway.contract.d.ts +0 -75
- package/dist/gateway.contract.d.ts.map +0 -1
- package/dist/gateway.contract.js +0 -20
- package/dist/gateway.contract.js.map +0 -1
- package/dist/ids.contract.d.ts +0 -8
- package/dist/ids.contract.d.ts.map +0 -1
- package/dist/ids.contract.js +0 -25
- package/dist/ids.contract.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lens-filter.contract.d.ts +0 -71
- package/dist/lens-filter.contract.d.ts.map +0 -1
- package/dist/lens-filter.contract.js +0 -96
- package/dist/lens-filter.contract.js.map +0 -1
- package/dist/lens-workflow.contract.d.ts +0 -85
- package/dist/lens-workflow.contract.d.ts.map +0 -1
- package/dist/lens-workflow.contract.js +0 -55
- package/dist/lens-workflow.contract.js.map +0 -1
- package/dist/mcp-tools.contract.d.ts +0 -152
- package/dist/mcp-tools.contract.d.ts.map +0 -1
- package/dist/mcp-tools.contract.js +0 -3282
- package/dist/mcp-tools.contract.js.map +0 -1
- package/dist/ontology-matching.contract.d.ts +0 -9
- package/dist/ontology-matching.contract.d.ts.map +0 -1
- package/dist/ontology-matching.contract.js.map +0 -1
- package/dist/prompt.contract.d.ts +0 -25
- package/dist/prompt.contract.d.ts.map +0 -1
- package/dist/prompt.contract.js +0 -25
- package/dist/prompt.contract.js.map +0 -1
- package/dist/sdk-methods.contract.d.ts +0 -356
- package/dist/sdk-methods.contract.d.ts.map +0 -1
- package/dist/sdk-methods.contract.js +0 -17
- package/dist/sdk-methods.contract.js.map +0 -1
- package/dist/sdk-tools.contract.d.ts +0 -93
- package/dist/sdk-tools.contract.d.ts.map +0 -1
- package/dist/sdk-tools.contract.js +0 -1399
- package/dist/sdk-tools.contract.js.map +0 -1
- package/dist/text-matching.contract.d.ts +0 -54
- package/dist/text-matching.contract.d.ts.map +0 -1
- package/dist/text-matching.contract.js +0 -278
- package/dist/text-matching.contract.js.map +0 -1
- package/dist/topic-scope.contract.d.ts +0 -9
- package/dist/topic-scope.contract.d.ts.map +0 -1
- package/dist/topic-scope.contract.js.map +0 -1
- package/dist/v1/agents/v1.d.ts.map +0 -1
- package/dist/v1/agents/v1.js +0 -2
- package/dist/v1/agents/v1.js.map +0 -1
- package/dist/v1/beliefs/v1.d.ts.map +0 -1
- package/dist/v1/beliefs/v1.js +0 -2
- package/dist/v1/beliefs/v1.js.map +0 -1
- package/dist/v1/evidence/v1.d.ts.map +0 -1
- package/dist/v1/evidence/v1.js +0 -2
- package/dist/v1/evidence/v1.js.map +0 -1
- package/dist/v1/graph/v1.d.ts.map +0 -1
- package/dist/v1/graph/v1.js +0 -2
- package/dist/v1/graph/v1.js.map +0 -1
- package/dist/v1/ontologies/v1.d.ts +0 -77
- package/dist/v1/ontologies/v1.d.ts.map +0 -1
- package/dist/v1/ontologies/v1.js +0 -179
- package/dist/v1/ontologies/v1.js.map +0 -1
- package/dist/v1/questions/v1.d.ts.map +0 -1
- package/dist/v1/questions/v1.js +0 -2
- package/dist/v1/questions/v1.js.map +0 -1
- package/dist/v1/topics/v1.d.ts +0 -20
- package/dist/v1/topics/v1.d.ts.map +0 -1
- package/dist/v1/topics/v1.js +0 -62
- package/dist/v1/topics/v1.js.map +0 -1
- package/dist/v1/worktrees/v1.d.ts.map +0 -1
- package/dist/v1/worktrees/v1.js +0 -2
- package/dist/v1/worktrees/v1.js.map +0 -1
- package/dist/workflow-runtime.contract.d.ts +0 -162
- package/dist/workflow-runtime.contract.d.ts.map +0 -1
- package/dist/workflow-runtime.contract.js +0 -258
- package/dist/workflow-runtime.contract.js.map +0 -1
package/dist/v1/ontologies/v1.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @lucern/contracts — OntologiesV1 namespace (resource contracts)
|
|
3
|
-
*
|
|
4
|
-
* Ontology Matching Engine — L0 entity type classification and similarity scoring.
|
|
5
|
-
* Provides bigram-based text similarity for matching free text against
|
|
6
|
-
* ontology entity types. Domain-agnostic: works identically for companies,
|
|
7
|
-
* molecules, code modules, or any tenant-defined entity vocabulary.
|
|
8
|
-
*
|
|
9
|
-
* Moved from src/ontology-matching.contract.ts in EK-16 T1 PR 2.
|
|
10
|
-
* Compat shim remains at the old path until the Lucern 1.0.0 cut.
|
|
11
|
-
*/
|
|
12
|
-
import { bigramTokenize, jaccardSimilarity, prepareLexicalQuery, scoreLexicalSignals, wordOverlapScore, wordTokenize, } from "../../text-matching.contract";
|
|
13
|
-
// =============================================================================
|
|
14
|
-
// ENTITY TYPE SCORING
|
|
15
|
-
// =============================================================================
|
|
16
|
-
/** Weights for combining scoring signals. */
|
|
17
|
-
const MATCH_WEIGHTS = {
|
|
18
|
-
tokenOverlap: 0.35,
|
|
19
|
-
bigramSimilarity: 0.25,
|
|
20
|
-
wordOverlap: 0.2,
|
|
21
|
-
descriptionBonus: 0.2,
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Score how well input text matches a single entity type definition.
|
|
25
|
-
* Combines bigram Jaccard similarity, word overlap, and description matching.
|
|
26
|
-
*/
|
|
27
|
-
export function scoreEntityTypeMatch(inputText, entityType) {
|
|
28
|
-
const preparedQuery = prepareLexicalQuery(inputText);
|
|
29
|
-
const labelText = `${entityType.label} ${entityType.value}`;
|
|
30
|
-
const tokenScore = scoreLexicalSignals(preparedQuery, [
|
|
31
|
-
{ text: labelText, weight: 1, strategy: "tokenOverlap" },
|
|
32
|
-
]);
|
|
33
|
-
// Score against the type label (primary signal)
|
|
34
|
-
const labelBigrams = bigramTokenize(entityType.label);
|
|
35
|
-
const bigramScore = jaccardSimilarity(preparedQuery.bigrams, labelBigrams);
|
|
36
|
-
// Word overlap with label + value
|
|
37
|
-
const labelWords = wordTokenize(labelText);
|
|
38
|
-
const wordScore = wordOverlapScore(preparedQuery.words, labelWords);
|
|
39
|
-
// Description matching bonus (if description exists)
|
|
40
|
-
let descScore = 0;
|
|
41
|
-
if (entityType.description) {
|
|
42
|
-
descScore = scoreLexicalSignals(preparedQuery, [
|
|
43
|
-
{ text: entityType.description, weight: 1, strategy: "tokenOverlap" },
|
|
44
|
-
]);
|
|
45
|
-
}
|
|
46
|
-
// Check subtypes for additional matches
|
|
47
|
-
let subtypeBonus = 0;
|
|
48
|
-
if (entityType.subtypes && entityType.subtypes.length > 0) {
|
|
49
|
-
for (const subtype of entityType.subtypes) {
|
|
50
|
-
const subtypeScore = scoreLexicalSignals(preparedQuery, [
|
|
51
|
-
{
|
|
52
|
-
text: `${subtype.label} ${subtype.value} ${subtype.description || ""}`,
|
|
53
|
-
weight: 1,
|
|
54
|
-
strategy: "tokenOverlap",
|
|
55
|
-
},
|
|
56
|
-
]);
|
|
57
|
-
subtypeBonus = Math.max(subtypeBonus, subtypeScore * 0.3); // up to 30% subtype bonus
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const score = Math.min(1.0, tokenScore * MATCH_WEIGHTS.tokenOverlap +
|
|
61
|
-
bigramScore * MATCH_WEIGHTS.bigramSimilarity +
|
|
62
|
-
wordScore * MATCH_WEIGHTS.wordOverlap +
|
|
63
|
-
descScore * MATCH_WEIGHTS.descriptionBonus +
|
|
64
|
-
subtypeBonus);
|
|
65
|
-
// Generate human-readable reason
|
|
66
|
-
const reasons = [];
|
|
67
|
-
if (tokenScore > 0.3) {
|
|
68
|
-
reasons.push(`stem match: ${(tokenScore * 100).toFixed(0)}%`);
|
|
69
|
-
}
|
|
70
|
-
if (bigramScore > 0.3) {
|
|
71
|
-
reasons.push(`text similarity: ${(bigramScore * 100).toFixed(0)}%`);
|
|
72
|
-
}
|
|
73
|
-
if (wordScore > 0.3) {
|
|
74
|
-
reasons.push(`word match: ${(wordScore * 100).toFixed(0)}%`);
|
|
75
|
-
}
|
|
76
|
-
if (descScore > 0.2) {
|
|
77
|
-
reasons.push("description match");
|
|
78
|
-
}
|
|
79
|
-
if (subtypeBonus > 0.05) {
|
|
80
|
-
reasons.push("subtype match");
|
|
81
|
-
}
|
|
82
|
-
const reason = reasons.length > 0 ? reasons.join(", ") : "low similarity";
|
|
83
|
-
return {
|
|
84
|
-
entityType: entityType.value,
|
|
85
|
-
label: entityType.label,
|
|
86
|
-
score,
|
|
87
|
-
reason,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Rank all entity types in an ontology against input text.
|
|
92
|
-
* Returns matches sorted by score (descending), filtered to score > minScore.
|
|
93
|
-
*/
|
|
94
|
-
export function rankEntityTypeMatches(inputText, entityTypes, options) {
|
|
95
|
-
const minScore = options?.minScore ?? 0.05;
|
|
96
|
-
const limit = options?.limit ?? 10;
|
|
97
|
-
const matches = entityTypes
|
|
98
|
-
.map((et) => scoreEntityTypeMatch(inputText, et))
|
|
99
|
-
.filter((m) => m.score >= minScore)
|
|
100
|
-
.sort((a, b) => b.score - a.score)
|
|
101
|
-
.slice(0, limit);
|
|
102
|
-
return matches;
|
|
103
|
-
}
|
|
104
|
-
// =============================================================================
|
|
105
|
-
// ENTITY DISCOVERY SCORING
|
|
106
|
-
// =============================================================================
|
|
107
|
-
/**
|
|
108
|
-
* Score how well a node's text matches an entity candidate.
|
|
109
|
-
* Used by discover_entity_connections to suggest missing bridge edges.
|
|
110
|
-
*/
|
|
111
|
-
export function scoreEntityConnection(nodeText, candidate, options) {
|
|
112
|
-
const preparedQuery = prepareLexicalQuery(nodeText);
|
|
113
|
-
const connectivityWeight = options?.connectivityWeight ?? 0.3;
|
|
114
|
-
const textWeight = 1.0 - connectivityWeight;
|
|
115
|
-
const candidateText = `${candidate.title} ${candidate.canonicalText}`;
|
|
116
|
-
const tokenScore = scoreLexicalSignals(preparedQuery, [
|
|
117
|
-
{ text: candidateText, weight: 1, strategy: "tokenOverlap" },
|
|
118
|
-
]);
|
|
119
|
-
const textScore = scoreLexicalSignals(preparedQuery, [
|
|
120
|
-
{ text: candidateText, weight: 1, strategy: "bigramJaccard" },
|
|
121
|
-
]);
|
|
122
|
-
const wordScore = scoreLexicalSignals(preparedQuery, [
|
|
123
|
-
{ text: candidateText, weight: 1, strategy: "wordOverlap" },
|
|
124
|
-
]);
|
|
125
|
-
// Connectivity signal (normalized externally by caller)
|
|
126
|
-
const maxConnections = Math.max(1, candidate.connectedBeliefCount + candidate.connectedEvidenceCount);
|
|
127
|
-
const connectivityScore = Math.min(1.0, maxConnections / 10); // soft-cap at 10
|
|
128
|
-
const combinedTextScore = tokenScore * 0.45 + textScore * 0.35 + wordScore * 0.2;
|
|
129
|
-
const score = combinedTextScore * textWeight + connectivityScore * connectivityWeight;
|
|
130
|
-
// Suggest edge type based on entity type
|
|
131
|
-
const suggestedEdgeType = suggestEdgeType(candidate.entityType);
|
|
132
|
-
const reason = tokenScore > 0.3
|
|
133
|
-
? `stem match: ${(tokenScore * 100).toFixed(0)}%`
|
|
134
|
-
: textScore > 0.2
|
|
135
|
-
? `name similarity: ${(textScore * 100).toFixed(0)}%`
|
|
136
|
-
: wordScore > 0.2
|
|
137
|
-
? `keyword match: ${(wordScore * 100).toFixed(0)}%`
|
|
138
|
-
: `connectivity: ${candidate.connectedBeliefCount} beliefs`;
|
|
139
|
-
return {
|
|
140
|
-
entityNodeId: candidate.nodeId,
|
|
141
|
-
entityType: candidate.entityType,
|
|
142
|
-
title: candidate.title,
|
|
143
|
-
score,
|
|
144
|
-
suggestedEdgeType,
|
|
145
|
-
reason,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Suggest the most appropriate bridge edge type for an entity type.
|
|
150
|
-
*/
|
|
151
|
-
function suggestEdgeType(entityType) {
|
|
152
|
-
switch (entityType) {
|
|
153
|
-
case "company":
|
|
154
|
-
case "person":
|
|
155
|
-
case "investor":
|
|
156
|
-
return "contains";
|
|
157
|
-
case "function":
|
|
158
|
-
case "value_chain":
|
|
159
|
-
return "impacts";
|
|
160
|
-
default:
|
|
161
|
-
return "contains";
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Rank entity candidates against a node's text.
|
|
166
|
-
* Returns sorted matches above the minimum score threshold.
|
|
167
|
-
*/
|
|
168
|
-
export function rankEntityConnections(nodeText, candidates, options) {
|
|
169
|
-
const minScore = options?.minScore ?? 0.05;
|
|
170
|
-
const limit = options?.limit ?? 10;
|
|
171
|
-
return candidates
|
|
172
|
-
.map((c) => scoreEntityConnection(nodeText, c, {
|
|
173
|
-
connectivityWeight: options?.connectivityWeight,
|
|
174
|
-
}))
|
|
175
|
-
.filter((m) => m.score >= minScore)
|
|
176
|
-
.sort((a, b) => b.score - a.score)
|
|
177
|
-
.slice(0, limit);
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=v1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/v1/ontologies/v1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,GACb,MAAM,8BAA8B,CAAC;AA0CtC,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,6CAA6C;AAC7C,MAAM,aAAa,GAAG;IACpB,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,GAAG;IAChB,gBAAgB,EAAE,GAAG;CACb,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,UAA8B;IAE9B,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;IAE5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,EAAE;QACpD,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;KACzD,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE3E,kCAAkC;IAClC,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEpE,qDAAqD;IACrD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,SAAS,GAAG,mBAAmB,CAAC,aAAa,EAAE;YAC7C,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;SACtE,CAAC,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,EAAE;gBACtD;oBACE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE;oBACtE,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;aACF,CAAC,CAAC;YACH,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,0BAA0B;QACvF,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,GAAG,EACH,UAAU,GAAG,aAAa,CAAC,YAAY;QACrC,WAAW,GAAG,aAAa,CAAC,gBAAgB;QAC5C,SAAS,GAAG,aAAa,CAAC,WAAW;QACrC,SAAS,GAAG,aAAa,CAAC,gBAAgB;QAC1C,YAAY,CACf,CAAC;IAEF,iCAAiC;IACjC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAE1E,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,KAAK;QAC5B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,WAAiC,EACjC,OAA+C;IAE/C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,WAAW;SACxB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEnB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,SAA+B,EAC/B,OAAyC;IAEzC,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,GAAG,CAAC;IAC9D,MAAM,UAAU,GAAG,GAAG,GAAG,kBAAkB,CAAC;IAC5C,MAAM,aAAa,GAAG,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;IACtE,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,EAAE;QACpD,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;KAC7D,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,mBAAmB,CAAC,aAAa,EAAE;QACnD,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE;KAC9D,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,mBAAmB,CAAC,aAAa,EAAE;QACnD,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE;KAC5D,CAAC,CAAC;IAEH,wDAAwD;IACxD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,SAAS,CAAC,oBAAoB,GAAG,SAAS,CAAC,sBAAsB,CAClE,CAAC;IACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,iBAAiB;IAE/E,MAAM,iBAAiB,GACrB,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC;IACzD,MAAM,KAAK,GACT,iBAAiB,GAAG,UAAU,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;IAE1E,yCAAyC;IACzC,MAAM,iBAAiB,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEhE,MAAM,MAAM,GACV,UAAU,GAAG,GAAG;QACd,CAAC,CAAC,eAAe,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QACjD,CAAC,CAAC,SAAS,GAAG,GAAG;YACf,CAAC,CAAC,oBAAoB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACrD,CAAC,CAAC,SAAS,GAAG,GAAG;gBACf,CAAC,CAAC,kBAAkB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gBACnD,CAAC,CAAC,iBAAiB,SAAS,CAAC,oBAAoB,UAAU,CAAC;IAEpE,OAAO;QACL,YAAY,EAAE,SAAS,CAAC,MAAM;QAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,KAAK;QACL,iBAAiB;QACjB,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,UAAkB;IACzC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,UAAkC,EAClC,OAA4E;IAE5E,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAEnC,OAAO,UAAU;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAAE;QACjC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;KAChD,CAAC,CACH;SACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../../src/v1/questions/v1.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC"}
|
package/dist/v1/questions/v1.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/v1/questions/v1.ts"],"names":[],"mappings":""}
|
package/dist/v1/topics/v1.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @lucern/contracts — TopicsV1 namespace (resource contracts)
|
|
3
|
-
*
|
|
4
|
-
* Moved from src/topic-scope.contract.ts in EK-16 T1 PR 2.
|
|
5
|
-
* Compat shim remains at the old path until the Lucern 1.0.0 cut.
|
|
6
|
-
*/
|
|
7
|
-
export declare const ROOT_TOPIC_ID = "n17tm38rwet7wqgzrmwahyt1z582590y";
|
|
8
|
-
export type TopicDoc = {
|
|
9
|
-
_id: string;
|
|
10
|
-
name?: string;
|
|
11
|
-
parentTopicId?: string;
|
|
12
|
-
depth?: number;
|
|
13
|
-
type?: string;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* BFS traversal collecting a topic and its neighborhood:
|
|
17
|
-
* ancestors up to root + descendants down to maxDescendantDepth.
|
|
18
|
-
*/
|
|
19
|
-
export declare function collectTopicNeighborhood(topics: TopicDoc[], rootTopicId: string, maxDescendantDepth?: number): string[];
|
|
20
|
-
//# sourceMappingURL=v1.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../../src/v1/topics/v1.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,aAAa,qCAAqC,CAAC;AAEhE,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,kBAAkB,SAAI,GACrB,MAAM,EAAE,CAqDV"}
|
package/dist/v1/topics/v1.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @lucern/contracts — TopicsV1 namespace (resource contracts)
|
|
3
|
-
*
|
|
4
|
-
* Moved from src/topic-scope.contract.ts in EK-16 T1 PR 2.
|
|
5
|
-
* Compat shim remains at the old path until the Lucern 1.0.0 cut.
|
|
6
|
-
*/
|
|
7
|
-
export const ROOT_TOPIC_ID = "n17tm38rwet7wqgzrmwahyt1z582590y";
|
|
8
|
-
/**
|
|
9
|
-
* BFS traversal collecting a topic and its neighborhood:
|
|
10
|
-
* ancestors up to root + descendants down to maxDescendantDepth.
|
|
11
|
-
*/
|
|
12
|
-
export function collectTopicNeighborhood(topics, rootTopicId, maxDescendantDepth = 2) {
|
|
13
|
-
const byId = new Map();
|
|
14
|
-
const children = new Map();
|
|
15
|
-
for (const topic of topics) {
|
|
16
|
-
const id = String(topic._id);
|
|
17
|
-
byId.set(id, topic);
|
|
18
|
-
if (!children.has(id)) {
|
|
19
|
-
children.set(id, []);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
for (const topic of topics) {
|
|
23
|
-
if (!topic.parentTopicId) {
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
const parent = String(topic.parentTopicId);
|
|
27
|
-
const id = String(topic._id);
|
|
28
|
-
const list = children.get(parent) || [];
|
|
29
|
-
list.push(id);
|
|
30
|
-
children.set(parent, list);
|
|
31
|
-
}
|
|
32
|
-
const selected = new Set();
|
|
33
|
-
selected.add(rootTopicId);
|
|
34
|
-
// Ancestors
|
|
35
|
-
let cursor = byId.get(rootTopicId);
|
|
36
|
-
while (cursor?.parentTopicId) {
|
|
37
|
-
const parentId = String(cursor.parentTopicId);
|
|
38
|
-
if (selected.has(parentId)) {
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
selected.add(parentId);
|
|
42
|
-
cursor = byId.get(parentId);
|
|
43
|
-
}
|
|
44
|
-
// Descendants
|
|
45
|
-
const queue = [
|
|
46
|
-
{ id: rootTopicId, depth: 0 },
|
|
47
|
-
];
|
|
48
|
-
while (queue.length > 0) {
|
|
49
|
-
const current = queue.shift();
|
|
50
|
-
if (current.depth >= maxDescendantDepth) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
for (const childId of children.get(current.id) || []) {
|
|
54
|
-
if (!selected.has(childId)) {
|
|
55
|
-
selected.add(childId);
|
|
56
|
-
}
|
|
57
|
-
queue.push({ id: childId, depth: current.depth + 1 });
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return Array.from(selected);
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=v1.js.map
|
package/dist/v1/topics/v1.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/v1/topics/v1.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,kCAAkC,CAAC;AAUhE;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAkB,EAClB,WAAmB,EACnB,kBAAkB,GAAG,CAAC;IAEtB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACd,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE1B,YAAY;IACZ,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,MAAM,EAAE,aAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM;QACR,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc;IACd,MAAM,KAAK,GAAyC;QAClD,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;KAC9B,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,IAAI,OAAO,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../../src/v1/worktrees/v1.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC"}
|
package/dist/v1/worktrees/v1.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/v1/worktrees/v1.ts"],"names":[],"mappings":""}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workflow Runtime Contract v1
|
|
3
|
-
*
|
|
4
|
-
* Canonical TypeScript contract for Lucern's graph-local workflow runtime.
|
|
5
|
-
* WF-1 defines the typed substrate for:
|
|
6
|
-
* - workflow definitions and run receipts
|
|
7
|
-
* - action mutation tiering and approval expectations
|
|
8
|
-
* - hooks over worktree/question/evidence/inbox events
|
|
9
|
-
* - output unions for domain-specific artifacts
|
|
10
|
-
* - deterministic integrity checks and operational metadata
|
|
11
|
-
*
|
|
12
|
-
* BREAKING CHANGE RULES:
|
|
13
|
-
* - Adding optional fields is NON-breaking
|
|
14
|
-
* - Removing fields or renaming enum values is BREAKING
|
|
15
|
-
* - Reclassifying a mutation tier is BREAKING
|
|
16
|
-
* - Changing canonical workflow IDs is BREAKING
|
|
17
|
-
*/
|
|
18
|
-
export declare const WORKFLOW_RUNTIME_SCHEMA_VERSION: "1.0.0";
|
|
19
|
-
export declare const WORKFLOW_MUTATION_TIERS: readonly ["read_only", "low_risk_write", "high_risk_write"];
|
|
20
|
-
export type WorkflowMutationTier = (typeof WORKFLOW_MUTATION_TIERS)[number];
|
|
21
|
-
export declare const WORKFLOW_APPROVAL_MODES: readonly ["none", "audit_only", "human_required", "auto_approve"];
|
|
22
|
-
export type WorkflowApprovalMode = (typeof WORKFLOW_APPROVAL_MODES)[number];
|
|
23
|
-
export declare const DEFAULT_TIER_APPROVAL_MODE: Readonly<Record<WorkflowMutationTier, WorkflowApprovalMode>>;
|
|
24
|
-
export declare const WORKFLOW_ACTION_KINDS: readonly ["context_pack", "integrity_check", "lucern_tool", "report_compile", "brief_publish", "notification", "custom"];
|
|
25
|
-
export type WorkflowActionKind = (typeof WORKFLOW_ACTION_KINDS)[number];
|
|
26
|
-
export declare const WORKFLOW_HOOK_EVENTS: readonly ["schedule.tick", "worktree.activated", "worktree.completed", "question.created", "question.answered", "evidence.appended", "inbox.item_created"];
|
|
27
|
-
export type WorkflowHookEvent = (typeof WORKFLOW_HOOK_EVENTS)[number];
|
|
28
|
-
export declare const WORKFLOW_OUTPUT_KINDS: readonly ["engineering_brief", "research_memo", "strategy_artifact", "inbox_summary", "pipeline_brief", "structured_payload"];
|
|
29
|
-
export type WorkflowOutputKind = (typeof WORKFLOW_OUTPUT_KINDS)[number];
|
|
30
|
-
export declare const WORKFLOW_RUN_STATUSES: readonly ["queued", "running", "awaiting_approval", "completed", "failed", "cancelled"];
|
|
31
|
-
export type WorkflowRunStatus = (typeof WORKFLOW_RUN_STATUSES)[number];
|
|
32
|
-
export declare const WORKFLOW_TRIGGER_KINDS: readonly ["manual", "schedule", "hook"];
|
|
33
|
-
export type WorkflowTriggerKind = (typeof WORKFLOW_TRIGGER_KINDS)[number];
|
|
34
|
-
export declare const WORKFLOW_PROOF_ARTIFACT_KINDS: readonly ["report", "brief", "artifact", "dashboard", "test_evidence"];
|
|
35
|
-
export type WorkflowProofArtifactKind = (typeof WORKFLOW_PROOF_ARTIFACT_KINDS)[number];
|
|
36
|
-
export declare const WORKFLOW_STAFFING_HINTS: readonly ["solo", "backend+tests", "fullstack", "mcp+tests"];
|
|
37
|
-
export type WorkflowStaffingHint = (typeof WORKFLOW_STAFFING_HINTS)[number];
|
|
38
|
-
export declare const WORKFLOW_AUTO_FIX_MODES: readonly ["disabled", "dry_run", "safe", "aggressive"];
|
|
39
|
-
export type WorkflowAutoFixMode = (typeof WORKFLOW_AUTO_FIX_MODES)[number];
|
|
40
|
-
export declare const WORKFLOW_INTEGRITY_CHECKS: readonly ["null_dependency_refs", "superseded_blockers", "band_order_inconsistency", "sparse_shaping", "failed_completed_gate"];
|
|
41
|
-
export type WorkflowIntegrityCheckId = (typeof WORKFLOW_INTEGRITY_CHECKS)[number];
|
|
42
|
-
export type WorkflowProofArtifact = {
|
|
43
|
-
kind: WorkflowProofArtifactKind;
|
|
44
|
-
label: string;
|
|
45
|
-
required?: boolean;
|
|
46
|
-
sourceRef?: string;
|
|
47
|
-
};
|
|
48
|
-
export type WorkflowAutoFixPolicy = {
|
|
49
|
-
mode: WorkflowAutoFixMode;
|
|
50
|
-
maxActionsPerRun?: number;
|
|
51
|
-
permittedMutationTiers?: WorkflowMutationTier[];
|
|
52
|
-
requireAuditTrail?: boolean;
|
|
53
|
-
escalationGate?: string;
|
|
54
|
-
};
|
|
55
|
-
export declare const DEFAULT_WORKFLOW_AUTO_FIX_POLICY: WorkflowAutoFixPolicy;
|
|
56
|
-
export type WorkflowApprovalPolicy = {
|
|
57
|
-
mode: WorkflowApprovalMode;
|
|
58
|
-
approvalGate?: string;
|
|
59
|
-
autoApprovePolicyKey?: string;
|
|
60
|
-
rationaleRequired?: boolean;
|
|
61
|
-
};
|
|
62
|
-
export type WorkflowOutputBase = {
|
|
63
|
-
outputId: string;
|
|
64
|
-
kind: WorkflowOutputKind;
|
|
65
|
-
title: string;
|
|
66
|
-
summary: string;
|
|
67
|
-
generatedAt?: number;
|
|
68
|
-
};
|
|
69
|
-
export type EngineeringBriefOutput = WorkflowOutputBase & {
|
|
70
|
-
kind: "engineering_brief";
|
|
71
|
-
sections: Array<{
|
|
72
|
-
heading: string;
|
|
73
|
-
body: string;
|
|
74
|
-
}>;
|
|
75
|
-
touchedPaths?: string[];
|
|
76
|
-
};
|
|
77
|
-
export type ResearchMemoOutput = WorkflowOutputBase & {
|
|
78
|
-
kind: "research_memo";
|
|
79
|
-
claims: string[];
|
|
80
|
-
evidenceRefs?: string[];
|
|
81
|
-
};
|
|
82
|
-
export type StrategyArtifactOutput = WorkflowOutputBase & {
|
|
83
|
-
kind: "strategy_artifact";
|
|
84
|
-
recommendations: string[];
|
|
85
|
-
decisionWindow?: string;
|
|
86
|
-
};
|
|
87
|
-
export type InboxSummaryOutput = WorkflowOutputBase & {
|
|
88
|
-
kind: "inbox_summary";
|
|
89
|
-
channel: "developer_portal" | "chat" | "ops";
|
|
90
|
-
inboxTitle: string;
|
|
91
|
-
inboxBody: string;
|
|
92
|
-
};
|
|
93
|
-
export type PipelineBriefOutput = WorkflowOutputBase & {
|
|
94
|
-
kind: "pipeline_brief";
|
|
95
|
-
hingeWorktreeId?: string;
|
|
96
|
-
groupedBlockers: Array<{
|
|
97
|
-
blocker: string;
|
|
98
|
-
blockedWorktreeIds: string[];
|
|
99
|
-
}>;
|
|
100
|
-
};
|
|
101
|
-
export type StructuredPayloadOutput = WorkflowOutputBase & {
|
|
102
|
-
kind: "structured_payload";
|
|
103
|
-
payload: Record<string, unknown>;
|
|
104
|
-
};
|
|
105
|
-
export type WorkflowOutputContract = EngineeringBriefOutput | ResearchMemoOutput | StrategyArtifactOutput | InboxSummaryOutput | PipelineBriefOutput | StructuredPayloadOutput;
|
|
106
|
-
export type WorkflowActionContract = {
|
|
107
|
-
actionId: string;
|
|
108
|
-
kind: WorkflowActionKind;
|
|
109
|
-
title: string;
|
|
110
|
-
description: string;
|
|
111
|
-
mutationTier: WorkflowMutationTier;
|
|
112
|
-
toolName?: string;
|
|
113
|
-
produces?: WorkflowOutputKind[];
|
|
114
|
-
idempotent?: boolean;
|
|
115
|
-
approval: WorkflowApprovalPolicy;
|
|
116
|
-
};
|
|
117
|
-
export type WorkflowHookContract = {
|
|
118
|
-
hookId: string;
|
|
119
|
-
event: WorkflowHookEvent;
|
|
120
|
-
description: string;
|
|
121
|
-
condition?: string;
|
|
122
|
-
actionIds: string[];
|
|
123
|
-
};
|
|
124
|
-
export type WorkflowTriggerContract = {
|
|
125
|
-
kind: "manual";
|
|
126
|
-
description?: string;
|
|
127
|
-
} | {
|
|
128
|
-
kind: "schedule";
|
|
129
|
-
cadence: "hourly" | "daily" | "weekly";
|
|
130
|
-
timezone?: string;
|
|
131
|
-
} | {
|
|
132
|
-
kind: "hook";
|
|
133
|
-
event: WorkflowHookEvent;
|
|
134
|
-
};
|
|
135
|
-
export type WorkflowDefinitionV1 = {
|
|
136
|
-
workflowId: string;
|
|
137
|
-
version: typeof WORKFLOW_RUNTIME_SCHEMA_VERSION;
|
|
138
|
-
title: string;
|
|
139
|
-
description: string;
|
|
140
|
-
trigger: WorkflowTriggerContract;
|
|
141
|
-
staffingHint?: WorkflowStaffingHint;
|
|
142
|
-
proofArtifacts?: WorkflowProofArtifact[];
|
|
143
|
-
autoFixPolicy?: WorkflowAutoFixPolicy;
|
|
144
|
-
actions: readonly WorkflowActionContract[];
|
|
145
|
-
hooks?: readonly WorkflowHookContract[];
|
|
146
|
-
outputs: readonly WorkflowOutputKind[];
|
|
147
|
-
integrityChecks?: readonly WorkflowIntegrityCheckId[];
|
|
148
|
-
};
|
|
149
|
-
export type WorkflowRunReceiptV1 = {
|
|
150
|
-
runId: string;
|
|
151
|
-
workflowId: string;
|
|
152
|
-
status: WorkflowRunStatus;
|
|
153
|
-
triggeredBy: WorkflowTriggerKind;
|
|
154
|
-
startedAt: number;
|
|
155
|
-
completedAt?: number;
|
|
156
|
-
outputKinds: WorkflowOutputKind[];
|
|
157
|
-
approvalsRequired?: number;
|
|
158
|
-
};
|
|
159
|
-
export declare const NIGHTLY_RECONCILIATION_WORKFLOW_ID: "workflow.pipeline_reconciliation.v1";
|
|
160
|
-
export declare const MORNING_BRIEF_WORKFLOW_ID: "workflow.morning_brief.v1";
|
|
161
|
-
export declare const CANONICAL_WORKFLOW_DEFINITIONS: readonly WorkflowDefinitionV1[];
|
|
162
|
-
//# sourceMappingURL=workflow-runtime.contract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-runtime.contract.d.ts","sourceRoot":"","sources":["../src/workflow-runtime.contract.ts"],"names":[],"mappings":"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"}
|