@devflow-tools/sdk 0.17.3 → 0.17.5
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/embedding-provider-contract.d.ts +15 -0
- package/dist/embedding-provider-contract.d.ts.map +1 -0
- package/dist/embedding-provider-contract.js +3 -0
- package/dist/embedding-provider-contract.js.map +1 -0
- package/dist/embedding-provider-contract.test.d.ts +2 -0
- package/dist/embedding-provider-contract.test.d.ts.map +1 -0
- package/dist/embedding-provider-contract.test.js +11 -0
- package/dist/embedding-provider-contract.test.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/semantic-resolution.d.ts +104 -0
- package/dist/semantic-resolution.d.ts.map +1 -0
- package/dist/semantic-resolution.js +178 -0
- package/dist/semantic-resolution.js.map +1 -0
- package/dist/semantic-resolution.test.d.ts +2 -0
- package/dist/semantic-resolution.test.d.ts.map +1 -0
- package/dist/semantic-resolution.test.js +106 -0
- package/dist/semantic-resolution.test.js.map +1 -0
- package/dist/types/task-semantic-control.d.ts +2 -2
- package/dist/types/task-semantic-control.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const EMBEDDING_MODEL_ID = "Xenova/all-MiniLM-L6-v2";
|
|
2
|
+
export declare const EMBEDDING_MODEL_REVISION = "751bff37182d3f1213fa05d7196b954e230abad9";
|
|
3
|
+
export interface EmbeddingWarmupOptions {
|
|
4
|
+
timeoutMs?: number;
|
|
5
|
+
errorLogPath?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface EmbeddingProviderContract {
|
|
8
|
+
getStatus(): 'idle' | 'warming' | 'ready' | 'failed';
|
|
9
|
+
warmup(options?: EmbeddingWarmupOptions): Promise<boolean>;
|
|
10
|
+
embed(text: string): Promise<Float32Array>;
|
|
11
|
+
embedBatch(texts: string[]): Promise<Float32Array[]>;
|
|
12
|
+
getLastError(): string | null;
|
|
13
|
+
getLastFailure(): Error | null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=embedding-provider-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-provider-contract.d.ts","sourceRoot":"","sources":["../src/embedding-provider-contract.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAC5D,eAAO,MAAM,wBAAwB,6CAA6C,CAAC;AAEnF,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,IAAI,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,MAAM,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,IAAI,KAAK,GAAG,IAAI,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-provider-contract.js","sourceRoot":"","sources":["../src/embedding-provider-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAC5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,0CAA0C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-provider-contract.test.d.ts","sourceRoot":"","sources":["../src/embedding-provider-contract.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { describe, expect, expectTypeOf, it } from 'vitest';
|
|
2
|
+
import { EMBEDDING_MODEL_ID, EMBEDDING_MODEL_REVISION, } from './embedding-provider-contract.js';
|
|
3
|
+
describe('embedding provider contract', () => {
|
|
4
|
+
it('publishes the pinned model identity and structural provider surface', () => {
|
|
5
|
+
expect(EMBEDDING_MODEL_ID).toBe('Xenova/all-MiniLM-L6-v2');
|
|
6
|
+
expect(EMBEDDING_MODEL_REVISION).toBe('751bff37182d3f1213fa05d7196b954e230abad9');
|
|
7
|
+
expectTypeOf()
|
|
8
|
+
.returns.toEqualTypeOf();
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=embedding-provider-contract.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-provider-contract.test.js","sourceRoot":"","sources":["../src/embedding-provider-contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GAEzB,MAAM,kCAAkC,CAAC;AAE1C,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3D,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAClF,YAAY,EAA2C;aACpD,OAAO,CAAC,aAAa,EAA2B,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,8 +29,10 @@ export * from "./capability-rollout.js";
|
|
|
29
29
|
export * from "./project-capability-profile.js";
|
|
30
30
|
export * from "./model-recommendation.js";
|
|
31
31
|
export * from "./canonical-action-binding.js";
|
|
32
|
+
export * from "./embedding-provider-contract.js";
|
|
32
33
|
export * from "./task-runtime.js";
|
|
33
34
|
export * from "./task-runtime-reducer.js";
|
|
34
35
|
export * from "./task-runtime-store.js";
|
|
35
36
|
export * from "./action-lease.js";
|
|
37
|
+
export * from "./semantic-resolution.js";
|
|
36
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -29,8 +29,10 @@ export * from "./capability-rollout.js";
|
|
|
29
29
|
export * from "./project-capability-profile.js";
|
|
30
30
|
export * from "./model-recommendation.js";
|
|
31
31
|
export * from "./canonical-action-binding.js";
|
|
32
|
+
export * from "./embedding-provider-contract.js";
|
|
32
33
|
export * from "./task-runtime.js";
|
|
33
34
|
export * from "./task-runtime-reducer.js";
|
|
34
35
|
export * from "./task-runtime-store.js";
|
|
35
36
|
export * from "./action-lease.js";
|
|
37
|
+
export * from "./semantic-resolution.js";
|
|
36
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { KnowledgeNeed } from './types/knowledge.js';
|
|
2
|
+
import type { RetrievalTaskAction } from './types/memory.js';
|
|
3
|
+
import type { CanonicalTaskIntent } from './types/task-context-envelope.js';
|
|
4
|
+
export declare const TASK_SEMANTIC_FRAME_SCHEMA: "task-semantic-frame.v2";
|
|
5
|
+
export declare const SEMANTIC_ROUTE_CATALOG_SCHEMA: "semantic-route-catalog.v1";
|
|
6
|
+
export declare const SEMANTIC_THRESHOLD_SCHEMA: "semantic-thresholds.v1";
|
|
7
|
+
export type SemanticResolutionState = 'provisional' | 'resolved' | 'abstained' | 'unavailable';
|
|
8
|
+
export type SemanticResolutionMode = 'off' | 'shadow' | 'retrieval' | 'project';
|
|
9
|
+
export type MutationPermission = 'explicitly_authorized' | 'explicitly_forbidden' | 'not_requested' | 'conditional' | 'ambiguous';
|
|
10
|
+
export type SemanticEvidenceField = 'intent' | 'action' | 'entity' | 'target' | 'constraint' | 'negation' | 'condition' | 'memory' | 'knowledge';
|
|
11
|
+
export type SemanticEvidenceSource = 'structural' | 'lexical_feature' | 'embedding_route' | 'host_sampling' | 'authority_merge';
|
|
12
|
+
export interface SemanticEvidenceSpanV1 {
|
|
13
|
+
field: SemanticEvidenceField;
|
|
14
|
+
source: SemanticEvidenceSource;
|
|
15
|
+
value: string;
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
textHash: string;
|
|
19
|
+
confidence: number;
|
|
20
|
+
}
|
|
21
|
+
export interface SemanticStepV1 {
|
|
22
|
+
order: number;
|
|
23
|
+
action: RetrievalTaskAction;
|
|
24
|
+
condition?: string;
|
|
25
|
+
mutationPermission: MutationPermission;
|
|
26
|
+
evidenceIds: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface TaskSemanticFrameV2 {
|
|
29
|
+
schemaVersion: typeof TASK_SEMANTIC_FRAME_SCHEMA;
|
|
30
|
+
sourceHash: string;
|
|
31
|
+
state: SemanticResolutionState;
|
|
32
|
+
primaryIntent: CanonicalTaskIntent;
|
|
33
|
+
primaryAction: RetrievalTaskAction;
|
|
34
|
+
mutationPermission: MutationPermission;
|
|
35
|
+
intents: CanonicalTaskIntent[];
|
|
36
|
+
entities: string[];
|
|
37
|
+
targetAnchors: string[];
|
|
38
|
+
constraints: string[];
|
|
39
|
+
negations: string[];
|
|
40
|
+
steps: SemanticStepV1[];
|
|
41
|
+
memoryDirective: 'save' | 'forget' | 'recall' | 'none' | 'ambiguous';
|
|
42
|
+
knowledgeNeeds: KnowledgeNeed[];
|
|
43
|
+
outOfScope: boolean;
|
|
44
|
+
confidence: {
|
|
45
|
+
overall: number;
|
|
46
|
+
perField: Partial<Record<SemanticEvidenceField, number>>;
|
|
47
|
+
};
|
|
48
|
+
evidence: SemanticEvidenceSpanV1[];
|
|
49
|
+
resolver: {
|
|
50
|
+
generatedBy: 'deterministic' | 'embedding_router' | 'host_semantic' | 'hybrid';
|
|
51
|
+
modelId?: string;
|
|
52
|
+
modelRevision?: string;
|
|
53
|
+
routeCatalogVersion: string;
|
|
54
|
+
thresholdVersion: string;
|
|
55
|
+
};
|
|
56
|
+
frameHash: string;
|
|
57
|
+
createdAt: number;
|
|
58
|
+
}
|
|
59
|
+
export interface SemanticRouteScore {
|
|
60
|
+
route: string;
|
|
61
|
+
score: number;
|
|
62
|
+
prototypeIds: string[];
|
|
63
|
+
}
|
|
64
|
+
export interface SemanticRouteDecision {
|
|
65
|
+
status: 'accepted' | 'escalation_required' | 'out_of_scope' | 'unavailable';
|
|
66
|
+
candidates: SemanticRouteScore[];
|
|
67
|
+
margin?: number;
|
|
68
|
+
thresholdVersion: string;
|
|
69
|
+
modelId?: string;
|
|
70
|
+
modelRevision?: string;
|
|
71
|
+
latencyMs: number;
|
|
72
|
+
reason: string;
|
|
73
|
+
}
|
|
74
|
+
export interface SemanticResolutionResult {
|
|
75
|
+
frame: TaskSemanticFrameV2;
|
|
76
|
+
route: SemanticRouteDecision;
|
|
77
|
+
sampling: {
|
|
78
|
+
attempted: boolean;
|
|
79
|
+
status: 'not_needed' | 'resolved' | 'unsupported' | 'timeout' | 'invalid';
|
|
80
|
+
model?: string;
|
|
81
|
+
latencyMs?: number;
|
|
82
|
+
responseHash?: string;
|
|
83
|
+
};
|
|
84
|
+
conflicts: Array<{
|
|
85
|
+
field: string;
|
|
86
|
+
leftSource: string;
|
|
87
|
+
rightSource: string;
|
|
88
|
+
resolution: 'structural_wins' | 'prohibition_wins' | 'abstain';
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
export type TaskSemanticFrameV2Input = Omit<TaskSemanticFrameV2, 'frameHash'>;
|
|
92
|
+
export declare function semanticTextHash(value: string): string;
|
|
93
|
+
export declare function resolveSemanticResolutionMode(projectRoot: string, env?: NodeJS.ProcessEnv): SemanticResolutionMode;
|
|
94
|
+
export declare function semanticResolutionProjectHash(projectRoot: string): string;
|
|
95
|
+
export declare function semanticEvidenceId(span: SemanticEvidenceSpanV1): string;
|
|
96
|
+
export declare function validateSemanticEvidenceSpan(normalizedPrompt: string, span: SemanticEvidenceSpanV1): void;
|
|
97
|
+
export declare function createTaskSemanticFrameV2(input: TaskSemanticFrameV2Input, normalizedPrompt: string): TaskSemanticFrameV2;
|
|
98
|
+
export declare function assertTaskSemanticFrameV2(value: unknown, normalizedPrompt: string): asserts value is TaskSemanticFrameV2;
|
|
99
|
+
export declare function projectSemanticFrameToLegacyIntent(frame: TaskSemanticFrameV2): {
|
|
100
|
+
intent: CanonicalTaskIntent;
|
|
101
|
+
action: RetrievalTaskAction;
|
|
102
|
+
mutating: boolean;
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=semantic-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-resolution.d.ts","sourceRoot":"","sources":["../src/semantic-resolution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,eAAO,MAAM,0BAA0B,EAAG,wBAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,EAAG,2BAAoC,CAAC;AAClF,eAAO,MAAM,yBAAyB,EAAG,wBAAiC,CAAC;AAE3E,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;AAC/F,MAAM,MAAM,sBAAsB,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG,sBAAsB,GAC7E,eAAe,GAAG,aAAa,GAAG,WAAW,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GACzE,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GACrF,eAAe,GAAG,iBAAiB,CAAC;AAExC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,0BAA0B,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,mBAAmB,CAAC;IACnC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACrE,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;KAC1D,CAAC;IACF,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,QAAQ,EAAE;QACR,WAAW,EAAE,eAAe,GAAG,kBAAkB,GAAG,eAAe,GAAG,QAAQ,CAAC;QAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,GAAG,qBAAqB,GAAG,cAAc,GAAG,aAAa,CAAC;IAC5E,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE;QACR,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;QAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,SAAS,CAAC;KAChE,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAuB9E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,sBAAsB,CAOxB;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CASvE;AAED,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,sBAAsB,GAC3B,IAAI,CAaN;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,wBAAwB,EAC/B,gBAAgB,EAAE,MAAM,GACvB,mBAAmB,CAcrB;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,KAAK,IAAI,mBAAmB,CA4DtC;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAC9E,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;CACnB,CASA"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { realpathSync } from 'node:fs';
|
|
3
|
+
export const TASK_SEMANTIC_FRAME_SCHEMA = 'task-semantic-frame.v2';
|
|
4
|
+
export const SEMANTIC_ROUTE_CATALOG_SCHEMA = 'semantic-route-catalog.v1';
|
|
5
|
+
export const SEMANTIC_THRESHOLD_SCHEMA = 'semantic-thresholds.v1';
|
|
6
|
+
const INTENTS = new Set([
|
|
7
|
+
'debug', 'feature', 'refactor', 'understand', 'review', 'performance', 'memory', 'knowledge', 'unknown',
|
|
8
|
+
]);
|
|
9
|
+
const ACTIONS = new Set([
|
|
10
|
+
'analyze', 'debug', 'create', 'modify', 'format', 'test', 'build', 'install', 'release', 'document', 'unknown',
|
|
11
|
+
]);
|
|
12
|
+
const STATES = new Set(['provisional', 'resolved', 'abstained', 'unavailable']);
|
|
13
|
+
const PERMISSIONS = new Set([
|
|
14
|
+
'explicitly_authorized', 'explicitly_forbidden', 'not_requested', 'conditional', 'ambiguous',
|
|
15
|
+
]);
|
|
16
|
+
const MEMORY_DIRECTIVES = new Set(['save', 'forget', 'recall', 'none', 'ambiguous']);
|
|
17
|
+
const EVIDENCE_FIELDS = new Set([
|
|
18
|
+
'intent', 'action', 'entity', 'target', 'constraint', 'negation', 'condition', 'memory', 'knowledge',
|
|
19
|
+
]);
|
|
20
|
+
const EVIDENCE_SOURCES = new Set([
|
|
21
|
+
'structural', 'lexical_feature', 'embedding_route', 'host_sampling', 'authority_merge',
|
|
22
|
+
]);
|
|
23
|
+
const MUTATING_ACTIONS = new Set([
|
|
24
|
+
'debug', 'create', 'modify', 'format', 'test', 'build', 'install', 'release', 'document',
|
|
25
|
+
]);
|
|
26
|
+
export function semanticTextHash(value) {
|
|
27
|
+
return createHash('sha256').update(value.normalize('NFKC')).digest('hex');
|
|
28
|
+
}
|
|
29
|
+
export function resolveSemanticResolutionMode(projectRoot, env = process.env) {
|
|
30
|
+
const requested = env.DEVFLOW_SEMANTIC_RESOLUTION_MODE;
|
|
31
|
+
if (requested !== 'shadow' && requested !== 'retrieval' && requested !== 'project')
|
|
32
|
+
return 'off';
|
|
33
|
+
if (requested !== 'project')
|
|
34
|
+
return requested;
|
|
35
|
+
const allowed = new Set((env.DEVFLOW_SEMANTIC_RESOLUTION_PROJECTS ?? '')
|
|
36
|
+
.split(',').map(value => value.trim()).filter(Boolean));
|
|
37
|
+
return allowed.has(semanticResolutionProjectHash(projectRoot)) ? 'project' : 'off';
|
|
38
|
+
}
|
|
39
|
+
export function semanticResolutionProjectHash(projectRoot) {
|
|
40
|
+
let canonical = projectRoot;
|
|
41
|
+
try {
|
|
42
|
+
canonical = realpathSync(projectRoot);
|
|
43
|
+
}
|
|
44
|
+
catch { }
|
|
45
|
+
return semanticTextHash(canonical);
|
|
46
|
+
}
|
|
47
|
+
export function semanticEvidenceId(span) {
|
|
48
|
+
return semanticTextHash(canonicalJson({
|
|
49
|
+
field: span.field,
|
|
50
|
+
source: span.source,
|
|
51
|
+
value: span.value,
|
|
52
|
+
start: span.start,
|
|
53
|
+
end: span.end,
|
|
54
|
+
textHash: span.textHash,
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
export function validateSemanticEvidenceSpan(normalizedPrompt, span) {
|
|
58
|
+
if (!EVIDENCE_FIELDS.has(span.field) || !EVIDENCE_SOURCES.has(span.source)) {
|
|
59
|
+
throw new Error('SEMANTIC_EVIDENCE_ENUM_INVALID');
|
|
60
|
+
}
|
|
61
|
+
if (!Number.isSafeInteger(span.start) || !Number.isSafeInteger(span.end)
|
|
62
|
+
|| span.start < 0 || span.end <= span.start || span.end > normalizedPrompt.length) {
|
|
63
|
+
throw new Error('SEMANTIC_EVIDENCE_SPAN_INVALID');
|
|
64
|
+
}
|
|
65
|
+
if (!isConfidence(span.confidence))
|
|
66
|
+
throw new Error('SEMANTIC_CONFIDENCE_INVALID');
|
|
67
|
+
const text = normalizedPrompt.slice(span.start, span.end);
|
|
68
|
+
if (semanticTextHash(text) !== span.textHash) {
|
|
69
|
+
throw new Error('SEMANTIC_EVIDENCE_HASH_MISMATCH');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export function createTaskSemanticFrameV2(input, normalizedPrompt) {
|
|
73
|
+
// Callers commonly derive a revision by spreading a prior frame. Strip a
|
|
74
|
+
// stale runtime hash at this trust boundary even though the input type omits
|
|
75
|
+
// it, otherwise the old hash becomes part of the new hash preimage.
|
|
76
|
+
const { frameHash: _staleFrameHash, ...unhashedInput } = input;
|
|
77
|
+
const body = { ...unhashedInput, schemaVersion: TASK_SEMANTIC_FRAME_SCHEMA };
|
|
78
|
+
const frame = {
|
|
79
|
+
...body,
|
|
80
|
+
frameHash: semanticTextHash(canonicalJson(body)),
|
|
81
|
+
};
|
|
82
|
+
assertTaskSemanticFrameV2(frame, normalizedPrompt);
|
|
83
|
+
return frame;
|
|
84
|
+
}
|
|
85
|
+
export function assertTaskSemanticFrameV2(value, normalizedPrompt) {
|
|
86
|
+
if (!isRecord(value) || value.schemaVersion !== TASK_SEMANTIC_FRAME_SCHEMA) {
|
|
87
|
+
throw new Error('SEMANTIC_FRAME_SCHEMA_UNSUPPORTED');
|
|
88
|
+
}
|
|
89
|
+
const frame = value;
|
|
90
|
+
if (!STATES.has(frame.state)
|
|
91
|
+
|| !INTENTS.has(frame.primaryIntent)
|
|
92
|
+
|| !ACTIONS.has(frame.primaryAction)
|
|
93
|
+
|| !PERMISSIONS.has(frame.mutationPermission)
|
|
94
|
+
|| !MEMORY_DIRECTIVES.has(frame.memoryDirective)) {
|
|
95
|
+
throw new Error('SEMANTIC_FRAME_ENUM_INVALID');
|
|
96
|
+
}
|
|
97
|
+
if (!isHexHash(frame.sourceHash) || !isHexHash(frame.frameHash)) {
|
|
98
|
+
throw new Error('SEMANTIC_FRAME_HASH_INVALID');
|
|
99
|
+
}
|
|
100
|
+
if (!Array.isArray(frame.intents) || frame.intents.some(intent => !INTENTS.has(intent))
|
|
101
|
+
|| !Array.isArray(frame.evidence) || !Array.isArray(frame.steps)
|
|
102
|
+
|| !Array.isArray(frame.entities) || !Array.isArray(frame.targetAnchors)
|
|
103
|
+
|| !Array.isArray(frame.constraints) || !Array.isArray(frame.negations)
|
|
104
|
+
|| !Array.isArray(frame.knowledgeNeeds)) {
|
|
105
|
+
throw new Error('SEMANTIC_FRAME_SHAPE_INVALID');
|
|
106
|
+
}
|
|
107
|
+
if (!isConfidence(frame.confidence?.overall)
|
|
108
|
+
|| Object.values(frame.confidence?.perField ?? {}).some(value => !isConfidence(value))) {
|
|
109
|
+
throw new Error('SEMANTIC_CONFIDENCE_INVALID');
|
|
110
|
+
}
|
|
111
|
+
if (!Number.isSafeInteger(frame.createdAt) || frame.createdAt < 0) {
|
|
112
|
+
throw new Error('SEMANTIC_CREATED_AT_INVALID');
|
|
113
|
+
}
|
|
114
|
+
for (const evidence of frame.evidence)
|
|
115
|
+
validateSemanticEvidenceSpan(normalizedPrompt, evidence);
|
|
116
|
+
const evidenceIds = frame.evidence.map(semanticEvidenceId);
|
|
117
|
+
if (new Set(evidenceIds).size !== evidenceIds.length)
|
|
118
|
+
throw new Error('SEMANTIC_EVIDENCE_DUPLICATE');
|
|
119
|
+
const knownEvidence = new Set(evidenceIds);
|
|
120
|
+
const orders = new Set();
|
|
121
|
+
for (const step of frame.steps) {
|
|
122
|
+
if (!Number.isSafeInteger(step.order) || step.order < 0 || orders.has(step.order)
|
|
123
|
+
|| !ACTIONS.has(step.action) || !PERMISSIONS.has(step.mutationPermission)
|
|
124
|
+
|| !Array.isArray(step.evidenceIds) || step.evidenceIds.some(id => !knownEvidence.has(id))) {
|
|
125
|
+
throw new Error('SEMANTIC_STEP_INVALID');
|
|
126
|
+
}
|
|
127
|
+
orders.add(step.order);
|
|
128
|
+
if (step.condition && !step.evidenceIds.some(id => {
|
|
129
|
+
const index = evidenceIds.indexOf(id);
|
|
130
|
+
return index >= 0 && frame.evidence[index]?.field === 'condition';
|
|
131
|
+
}))
|
|
132
|
+
throw new Error('SEMANTIC_CONDITION_EVIDENCE_REQUIRED');
|
|
133
|
+
}
|
|
134
|
+
if (frame.state === 'resolved'
|
|
135
|
+
&& frame.mutationPermission === 'explicitly_authorized'
|
|
136
|
+
&& MUTATING_ACTIONS.has(frame.primaryAction)
|
|
137
|
+
&& !frame.evidence.some(item => item.field === 'action')) {
|
|
138
|
+
throw new Error('SEMANTIC_ACTION_EVIDENCE_REQUIRED');
|
|
139
|
+
}
|
|
140
|
+
if (frame.steps.some(step => step.mutationPermission === 'conditional')
|
|
141
|
+
&& !frame.evidence.some(item => item.field === 'condition')) {
|
|
142
|
+
throw new Error('SEMANTIC_CONDITION_EVIDENCE_REQUIRED');
|
|
143
|
+
}
|
|
144
|
+
const { frameHash, ...body } = frame;
|
|
145
|
+
if (semanticTextHash(canonicalJson(body)) !== frameHash) {
|
|
146
|
+
throw new Error('SEMANTIC_FRAME_HASH_MISMATCH');
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export function projectSemanticFrameToLegacyIntent(frame) {
|
|
150
|
+
const mutating = frame.state === 'resolved'
|
|
151
|
+
&& frame.mutationPermission === 'explicitly_authorized'
|
|
152
|
+
&& MUTATING_ACTIONS.has(frame.primaryAction);
|
|
153
|
+
return {
|
|
154
|
+
intent: frame.primaryIntent,
|
|
155
|
+
action: mutating ? frame.primaryAction : 'analyze',
|
|
156
|
+
mutating,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
function canonicalJson(value) {
|
|
160
|
+
return JSON.stringify(sortCanonical(value));
|
|
161
|
+
}
|
|
162
|
+
function sortCanonical(value) {
|
|
163
|
+
if (Array.isArray(value))
|
|
164
|
+
return value.map(sortCanonical);
|
|
165
|
+
if (!isRecord(value))
|
|
166
|
+
return value;
|
|
167
|
+
return Object.fromEntries(Object.keys(value).sort().map(key => [key, sortCanonical(value[key])]));
|
|
168
|
+
}
|
|
169
|
+
function isRecord(value) {
|
|
170
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
171
|
+
}
|
|
172
|
+
function isConfidence(value) {
|
|
173
|
+
return typeof value === 'number' && Number.isFinite(value) && value >= 0 && value <= 1;
|
|
174
|
+
}
|
|
175
|
+
function isHexHash(value) {
|
|
176
|
+
return typeof value === 'string' && /^[a-f0-9]{64}$/u.test(value);
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=semantic-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-resolution.js","sourceRoot":"","sources":["../src/semantic-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-resolution.test.d.ts","sourceRoot":"","sources":["../src/semantic-resolution.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { createTaskSemanticFrameV2, projectSemanticFrameToLegacyIntent, semanticEvidenceId, semanticTextHash, } from './semantic-resolution.js';
|
|
3
|
+
describe('semantic resolution contracts', () => {
|
|
4
|
+
it('accepts a valid resolved analysis frame', () => {
|
|
5
|
+
const prompt = 'explain the cache design';
|
|
6
|
+
const frame = createTaskSemanticFrameV2(frameInput(prompt), prompt);
|
|
7
|
+
expect(frame.frameHash).toMatch(/^[a-f0-9]{64}$/u);
|
|
8
|
+
expect(projectSemanticFrameToLegacyIntent(frame)).toEqual({
|
|
9
|
+
intent: 'understand', action: 'analyze', mutating: false,
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
it('rejects a forged source span', () => {
|
|
13
|
+
const prompt = 'publish 0.18.0';
|
|
14
|
+
const evidence = span(prompt, 'publish', 'action', 'release');
|
|
15
|
+
evidence.textHash = semanticTextHash('forged');
|
|
16
|
+
expect(() => createTaskSemanticFrameV2(frameInput(prompt, {
|
|
17
|
+
primaryIntent: 'feature',
|
|
18
|
+
primaryAction: 'release',
|
|
19
|
+
mutationPermission: 'explicitly_authorized',
|
|
20
|
+
evidence: [evidence],
|
|
21
|
+
}), prompt)).toThrow('SEMANTIC_EVIDENCE_HASH_MISMATCH');
|
|
22
|
+
});
|
|
23
|
+
it('rejects model-only mutation with no action span', () => {
|
|
24
|
+
const prompt = 'ship it';
|
|
25
|
+
expect(() => createTaskSemanticFrameV2(frameInput(prompt, {
|
|
26
|
+
primaryIntent: 'feature',
|
|
27
|
+
primaryAction: 'release',
|
|
28
|
+
mutationPermission: 'explicitly_authorized',
|
|
29
|
+
}), prompt)).toThrow('SEMANTIC_ACTION_EVIDENCE_REQUIRED');
|
|
30
|
+
});
|
|
31
|
+
it('preserves conditional steps as non-authorized', () => {
|
|
32
|
+
const prompt = 'if tests pass, publish';
|
|
33
|
+
const condition = span(prompt, 'if tests pass', 'condition', 'tests_pass');
|
|
34
|
+
const action = span(prompt, 'publish', 'action', 'release');
|
|
35
|
+
const frame = createTaskSemanticFrameV2(frameInput(prompt, {
|
|
36
|
+
primaryIntent: 'feature',
|
|
37
|
+
primaryAction: 'release',
|
|
38
|
+
mutationPermission: 'conditional',
|
|
39
|
+
evidence: [condition, action],
|
|
40
|
+
steps: [{
|
|
41
|
+
order: 0,
|
|
42
|
+
action: 'release',
|
|
43
|
+
condition: 'tests_pass',
|
|
44
|
+
mutationPermission: 'conditional',
|
|
45
|
+
evidenceIds: [semanticEvidenceId(condition), semanticEvidenceId(action)],
|
|
46
|
+
}],
|
|
47
|
+
}), prompt);
|
|
48
|
+
expect(projectSemanticFrameToLegacyIntent(frame)).toEqual({
|
|
49
|
+
intent: 'feature', action: 'analyze', mutating: false,
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
it('projects an abstained frame to non-mutating analyze', () => {
|
|
53
|
+
const prompt = 'do it';
|
|
54
|
+
const frame = createTaskSemanticFrameV2(frameInput(prompt, {
|
|
55
|
+
state: 'abstained',
|
|
56
|
+
primaryIntent: 'unknown',
|
|
57
|
+
primaryAction: 'modify',
|
|
58
|
+
mutationPermission: 'ambiguous',
|
|
59
|
+
outOfScope: true,
|
|
60
|
+
}), prompt);
|
|
61
|
+
expect(projectSemanticFrameToLegacyIntent(frame)).toEqual({
|
|
62
|
+
intent: 'unknown', action: 'analyze', mutating: false,
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
function frameInput(prompt, overrides = {}) {
|
|
67
|
+
return {
|
|
68
|
+
schemaVersion: 'task-semantic-frame.v2',
|
|
69
|
+
sourceHash: semanticTextHash(prompt),
|
|
70
|
+
state: 'resolved',
|
|
71
|
+
primaryIntent: 'understand',
|
|
72
|
+
primaryAction: 'analyze',
|
|
73
|
+
mutationPermission: 'not_requested',
|
|
74
|
+
intents: ['understand'],
|
|
75
|
+
entities: [],
|
|
76
|
+
targetAnchors: [],
|
|
77
|
+
constraints: [],
|
|
78
|
+
negations: [],
|
|
79
|
+
steps: [],
|
|
80
|
+
memoryDirective: 'none',
|
|
81
|
+
knowledgeNeeds: [],
|
|
82
|
+
outOfScope: false,
|
|
83
|
+
confidence: { overall: 0.9, perField: { intent: 0.9 } },
|
|
84
|
+
evidence: [],
|
|
85
|
+
resolver: {
|
|
86
|
+
generatedBy: 'deterministic',
|
|
87
|
+
routeCatalogVersion: 'test-catalog.v1',
|
|
88
|
+
thresholdVersion: 'test-threshold.v1',
|
|
89
|
+
},
|
|
90
|
+
createdAt: 1,
|
|
91
|
+
...overrides,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function span(prompt, text, field, value) {
|
|
95
|
+
const start = prompt.indexOf(text);
|
|
96
|
+
return {
|
|
97
|
+
field,
|
|
98
|
+
source: 'lexical_feature',
|
|
99
|
+
value,
|
|
100
|
+
start,
|
|
101
|
+
end: start + text.length,
|
|
102
|
+
textHash: semanticTextHash(text),
|
|
103
|
+
confidence: 1,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=semantic-resolution.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-resolution.test.js","sourceRoot":"","sources":["../src/semantic-resolution.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export interface CanonicalTaskIdentity {
|
|
|
9
9
|
requestId: string;
|
|
10
10
|
executionId?: string;
|
|
11
11
|
}
|
|
12
|
-
export type IntentEvidenceSource = 'slash_command' | 'explicit_action' | 'target_anchor' | 'active_skill' | 'host_semantic' | 'deterministic_parser';
|
|
12
|
+
export type IntentEvidenceSource = 'slash_command' | 'explicit_action' | 'target_anchor' | 'active_skill' | 'host_semantic' | 'embedding_route' | 'authority_merge' | 'abstention' | 'deterministic_parser';
|
|
13
13
|
export interface IntentEvidence {
|
|
14
14
|
source: IntentEvidenceSource;
|
|
15
15
|
field: 'intent' | 'action' | 'entity' | 'target' | 'constraint';
|
|
@@ -93,7 +93,7 @@ export interface CanonicalTerminalTransition {
|
|
|
93
93
|
payload: Record<string, unknown>;
|
|
94
94
|
createdAt: number;
|
|
95
95
|
}
|
|
96
|
-
export type SemanticControlLogEventName = 'host.prompt.normalized' | 'intent.artifact.created' | 'intent.artifact.failed' | 'intent.artifact.persisted' | 'query.plan.created' | 'artifact.inventory.completed' | 'canonical.tool.resolved' | 'canonical.action.validated' | 'mcp.action.started' | 'mcp.action.completed' | 'mcp.action.degraded' | 'mcp.action.failed' | 'retrieval.channel.completed' | 'retrieval.attribution.transitioned' | 'codegraph.edge.rejected' | 'context.build.degraded' | 'codegraph.index.completed' | 'codegraph.index.degraded' | 'codegraph.selection.completed' | 'memory.engine.transitioned' | 'memory.search.completed' | 'memory.candidates.gated' | 'memory.write.completed' | 'memory.write.degraded' | 'memory.semantic.refined' | 'memory.maintenance.completed' | 'knowledge.abstained' | 'knowledge.query.executed' | 'knowledge.source.rejected' | 'knowledge.maintenance.completed' | 'knowledge.ingest.queued' | 'knowledge.ingest.transitioned' | 'knowledge.search.completed' | 'knowledge.search.degraded' | 'memory.semantic.decided' | 'terminal.state.transitioned' | 'task.runtime.shadow_mismatch' | 'terminal.transition.persisted' | 'host.tool.result.reconciled' | 'verification.completed' | 'hook.stop.completed' | 'hook.stop.degraded' | 'hook.runtime.completed' | 'hook.runtime.degraded' | 'hook.session_end.completed' | 'hook.session_end.degraded' | 'session.reconciled' | 'durable.work.transitioned';
|
|
96
|
+
export type SemanticControlLogEventName = 'host.prompt.normalized' | 'intent.artifact.created' | 'intent.artifact.failed' | 'intent.artifact.persisted' | 'query.plan.created' | 'artifact.inventory.completed' | 'canonical.tool.resolved' | 'canonical.action.validated' | 'mcp.action.started' | 'mcp.action.completed' | 'mcp.action.degraded' | 'mcp.action.failed' | 'retrieval.channel.completed' | 'retrieval.attribution.transitioned' | 'codegraph.edge.rejected' | 'context.build.degraded' | 'codegraph.index.completed' | 'codegraph.index.degraded' | 'codegraph.selection.completed' | 'memory.engine.transitioned' | 'memory.search.completed' | 'memory.candidates.gated' | 'memory.write.completed' | 'memory.write.degraded' | 'memory.semantic.refined' | 'memory.maintenance.completed' | 'knowledge.abstained' | 'knowledge.query.executed' | 'knowledge.source.rejected' | 'knowledge.maintenance.completed' | 'knowledge.ingest.queued' | 'knowledge.ingest.transitioned' | 'knowledge.search.completed' | 'knowledge.search.degraded' | 'knowledge.embedding.degraded' | 'memory.semantic.decided' | 'terminal.state.transitioned' | 'task.runtime.shadow_mismatch' | 'terminal.transition.persisted' | 'host.tool.result.reconciled' | 'verification.completed' | 'hook.stop.completed' | 'hook.stop.degraded' | 'hook.runtime.completed' | 'hook.runtime.degraded' | 'hook.session_end.completed' | 'hook.session_end.degraded' | 'session.reconciled' | 'durable.work.transitioned' | 'semantic.route.scored' | 'semantic.resolution.escalated' | 'semantic.resolution.completed' | 'semantic.resolution.abstained' | 'semantic.authority.conflicted' | 'semantic.regex.shadow_mismatch' | 'semantic.model.profile_evaluated';
|
|
97
97
|
export interface SemanticControlLogEvent {
|
|
98
98
|
event: SemanticControlLogEventName;
|
|
99
99
|
identity: Partial<CanonicalTaskIdentity> & Pick<CanonicalTaskIdentity, 'projectRoot'> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-semantic-control.d.ts","sourceRoot":"","sources":["../../src/types/task-semantic-control.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"task-semantic-control.d.ts","sourceRoot":"","sources":["../../src/types/task-semantic-control.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/sdk",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"clean": "rm -rf dist"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@devflow-tools/database": "0.17.
|
|
40
|
+
"@devflow-tools/database": "0.17.4",
|
|
41
41
|
"tiktoken": "^1.0.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"files": [
|
|
48
48
|
"dist"
|
|
49
49
|
],
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "817b0286c249eed9c2bd27d3974ee3b3d6ded4bb"
|
|
51
51
|
}
|