@remnic/core 9.6.23 → 9.6.25
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/access-admin-ops-surface.js +1 -1
- package/dist/access-boundary.js +1 -1
- package/dist/access-cli.js +4 -4
- package/dist/access-http.js +3 -3
- package/dist/access-identity-continuity-surface.js +1 -1
- package/dist/access-lcm-surface.js +1 -1
- package/dist/access-mcp.js +2 -2
- package/dist/access-observe-write-surface.js +1 -1
- package/dist/access-operations-batch.js +1 -1
- package/dist/access-operations.d.ts +3 -3
- package/dist/access-operations.js +1 -1
- package/dist/access-recall-surface.js +1 -1
- package/dist/access-schema.d.ts +64 -64
- package/dist/access-service.js +1 -1
- package/dist/{chunk-KEY3FEMP.js → chunk-43VNWTBB.js} +3 -3
- package/dist/{chunk-A2OFRQ5B.js → chunk-N6VIXDT7.js} +2 -2
- package/dist/{chunk-ERA5RSMZ.js → chunk-P32IDSHD.js} +1 -1
- package/dist/{chunk-ERA5RSMZ.js.map → chunk-P32IDSHD.js.map} +1 -1
- package/dist/{chunk-D3D677BV.js → chunk-QLYLTKUG.js} +4 -4
- package/dist/{chunk-D3D677BV.js.map → chunk-QLYLTKUG.js.map} +1 -1
- package/dist/cli.js +4 -4
- package/dist/coding/coding-graph-types.d.ts +23 -1
- package/dist/coding/coding-graph-types.js +1 -1
- package/dist/coding/optional-coding-graph.js +1 -1
- package/dist/index.js +4 -4
- package/dist/orchestrator.js +4 -4
- package/dist/schemas.d.ts +74 -74
- package/dist/shared-context/manager.d.ts +8 -8
- package/dist/transfer/types.d.ts +66 -66
- package/package.json +2 -2
- package/src/access-http.test.ts +2 -2
- package/src/access-mcp.test.ts +2 -2
- package/src/access-mcp.ts +3 -3
- package/src/access-service-coding-write.test.ts +18 -18
- package/src/access-service-lcm-forgery.test.ts +5 -5
- package/src/access-service-observe-lcm-parity.test.ts +25 -25
- package/src/access-service-observe-scope.test.ts +16 -16
- package/src/access-service-project-tag.test.ts +2 -2
- package/src/access-service-raw-excerpt-read-gate.test.ts +1 -1
- package/src/coding/coding-graph-types.ts +23 -0
- package/src/coding/coding-namespace.test.ts +3 -3
- package/src/coding/wire-coding-context.test.ts +22 -22
- package/src/issue-1492-coding-mode-consistency.test.ts +2 -2
- /package/dist/{chunk-KEY3FEMP.js.map → chunk-43VNWTBB.js.map} +0 -0
- /package/dist/{chunk-A2OFRQ5B.js.map → chunk-N6VIXDT7.js.map} +0 -0
package/dist/transfer/types.d.ts
CHANGED
|
@@ -20,26 +20,26 @@ declare const ExportManifestV1Schema: z.ZodObject<{
|
|
|
20
20
|
bytes: number;
|
|
21
21
|
}>, "many">;
|
|
22
22
|
}, "strip", z.ZodTypeAny, {
|
|
23
|
-
|
|
23
|
+
schemaVersion: 1;
|
|
24
24
|
createdAt: string;
|
|
25
|
-
pluginVersion: string;
|
|
26
25
|
files: {
|
|
27
26
|
path: string;
|
|
28
27
|
sha256: string;
|
|
29
28
|
bytes: number;
|
|
30
29
|
}[];
|
|
31
|
-
|
|
30
|
+
format: "openclaw-engram-export";
|
|
31
|
+
pluginVersion: string;
|
|
32
32
|
includesTranscripts: boolean;
|
|
33
33
|
}, {
|
|
34
|
-
|
|
34
|
+
schemaVersion: 1;
|
|
35
35
|
createdAt: string;
|
|
36
|
-
pluginVersion: string;
|
|
37
36
|
files: {
|
|
38
37
|
path: string;
|
|
39
38
|
sha256: string;
|
|
40
39
|
bytes: number;
|
|
41
40
|
}[];
|
|
42
|
-
|
|
41
|
+
format: "openclaw-engram-export";
|
|
42
|
+
pluginVersion: string;
|
|
43
43
|
includesTranscripts: boolean;
|
|
44
44
|
}>;
|
|
45
45
|
type ExportManifestV1 = z.infer<typeof ExportManifestV1Schema>;
|
|
@@ -75,26 +75,26 @@ declare const ExportBundleV1Schema: z.ZodObject<{
|
|
|
75
75
|
bytes: number;
|
|
76
76
|
}>, "many">;
|
|
77
77
|
}, "strip", z.ZodTypeAny, {
|
|
78
|
-
|
|
78
|
+
schemaVersion: 1;
|
|
79
79
|
createdAt: string;
|
|
80
|
-
pluginVersion: string;
|
|
81
80
|
files: {
|
|
82
81
|
path: string;
|
|
83
82
|
sha256: string;
|
|
84
83
|
bytes: number;
|
|
85
84
|
}[];
|
|
86
|
-
|
|
85
|
+
format: "openclaw-engram-export";
|
|
86
|
+
pluginVersion: string;
|
|
87
87
|
includesTranscripts: boolean;
|
|
88
88
|
}, {
|
|
89
|
-
|
|
89
|
+
schemaVersion: 1;
|
|
90
90
|
createdAt: string;
|
|
91
|
-
pluginVersion: string;
|
|
92
91
|
files: {
|
|
93
92
|
path: string;
|
|
94
93
|
sha256: string;
|
|
95
94
|
bytes: number;
|
|
96
95
|
}[];
|
|
97
|
-
|
|
96
|
+
format: "openclaw-engram-export";
|
|
97
|
+
pluginVersion: string;
|
|
98
98
|
includesTranscripts: boolean;
|
|
99
99
|
}>;
|
|
100
100
|
records: z.ZodArray<z.ZodObject<{
|
|
@@ -109,15 +109,15 @@ declare const ExportBundleV1Schema: z.ZodObject<{
|
|
|
109
109
|
}>, "many">;
|
|
110
110
|
}, "strip", z.ZodTypeAny, {
|
|
111
111
|
manifest: {
|
|
112
|
-
|
|
112
|
+
schemaVersion: 1;
|
|
113
113
|
createdAt: string;
|
|
114
|
-
pluginVersion: string;
|
|
115
114
|
files: {
|
|
116
115
|
path: string;
|
|
117
116
|
sha256: string;
|
|
118
117
|
bytes: number;
|
|
119
118
|
}[];
|
|
120
|
-
|
|
119
|
+
format: "openclaw-engram-export";
|
|
120
|
+
pluginVersion: string;
|
|
121
121
|
includesTranscripts: boolean;
|
|
122
122
|
};
|
|
123
123
|
records: {
|
|
@@ -126,15 +126,15 @@ declare const ExportBundleV1Schema: z.ZodObject<{
|
|
|
126
126
|
}[];
|
|
127
127
|
}, {
|
|
128
128
|
manifest: {
|
|
129
|
-
|
|
129
|
+
schemaVersion: 1;
|
|
130
130
|
createdAt: string;
|
|
131
|
-
pluginVersion: string;
|
|
132
131
|
files: {
|
|
133
132
|
path: string;
|
|
134
133
|
sha256: string;
|
|
135
134
|
bytes: number;
|
|
136
135
|
}[];
|
|
137
|
-
|
|
136
|
+
format: "openclaw-engram-export";
|
|
137
|
+
pluginVersion: string;
|
|
138
138
|
includesTranscripts: boolean;
|
|
139
139
|
};
|
|
140
140
|
records: {
|
|
@@ -313,16 +313,16 @@ declare const CapsuleBlockSchema: z.ZodObject<{
|
|
|
313
313
|
peerProfiles: boolean;
|
|
314
314
|
}>;
|
|
315
315
|
}, "strip", z.ZodTypeAny, {
|
|
316
|
+
schemaVersion: string;
|
|
316
317
|
includes: {
|
|
317
318
|
procedural: boolean;
|
|
318
319
|
taxonomy: boolean;
|
|
319
320
|
identityAnchors: boolean;
|
|
320
321
|
peerProfiles: boolean;
|
|
321
322
|
};
|
|
322
|
-
description: string;
|
|
323
323
|
id: string;
|
|
324
|
-
schemaVersion: string;
|
|
325
324
|
version: string;
|
|
325
|
+
description: string;
|
|
326
326
|
parentCapsule: string | null;
|
|
327
327
|
retrievalPolicy: {
|
|
328
328
|
tierWeights: Record<string, number>;
|
|
@@ -334,16 +334,16 @@ declare const CapsuleBlockSchema: z.ZodObject<{
|
|
|
334
334
|
forkRoot: string;
|
|
335
335
|
} | null;
|
|
336
336
|
}, {
|
|
337
|
+
schemaVersion: string;
|
|
337
338
|
includes: {
|
|
338
339
|
procedural: boolean;
|
|
339
340
|
taxonomy: boolean;
|
|
340
341
|
identityAnchors: boolean;
|
|
341
342
|
peerProfiles: boolean;
|
|
342
343
|
};
|
|
343
|
-
description: string;
|
|
344
344
|
id: string;
|
|
345
|
-
schemaVersion: string;
|
|
346
345
|
version: string;
|
|
346
|
+
description: string;
|
|
347
347
|
parentCapsule: string | null;
|
|
348
348
|
retrievalPolicy: {
|
|
349
349
|
tierWeights: Record<string, number>;
|
|
@@ -464,16 +464,16 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
464
464
|
peerProfiles: boolean;
|
|
465
465
|
}>;
|
|
466
466
|
}, "strip", z.ZodTypeAny, {
|
|
467
|
+
schemaVersion: string;
|
|
467
468
|
includes: {
|
|
468
469
|
procedural: boolean;
|
|
469
470
|
taxonomy: boolean;
|
|
470
471
|
identityAnchors: boolean;
|
|
471
472
|
peerProfiles: boolean;
|
|
472
473
|
};
|
|
473
|
-
description: string;
|
|
474
474
|
id: string;
|
|
475
|
-
schemaVersion: string;
|
|
476
475
|
version: string;
|
|
476
|
+
description: string;
|
|
477
477
|
parentCapsule: string | null;
|
|
478
478
|
retrievalPolicy: {
|
|
479
479
|
tierWeights: Record<string, number>;
|
|
@@ -485,16 +485,16 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
485
485
|
forkRoot: string;
|
|
486
486
|
} | null;
|
|
487
487
|
}, {
|
|
488
|
+
schemaVersion: string;
|
|
488
489
|
includes: {
|
|
489
490
|
procedural: boolean;
|
|
490
491
|
taxonomy: boolean;
|
|
491
492
|
identityAnchors: boolean;
|
|
492
493
|
peerProfiles: boolean;
|
|
493
494
|
};
|
|
494
|
-
description: string;
|
|
495
495
|
id: string;
|
|
496
|
-
schemaVersion: string;
|
|
497
496
|
version: string;
|
|
497
|
+
description: string;
|
|
498
498
|
parentCapsule: string | null;
|
|
499
499
|
retrievalPolicy: {
|
|
500
500
|
tierWeights: Record<string, number>;
|
|
@@ -507,25 +507,27 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
507
507
|
} | null | undefined;
|
|
508
508
|
}>;
|
|
509
509
|
}, "strip", z.ZodTypeAny, {
|
|
510
|
-
|
|
510
|
+
schemaVersion: 2;
|
|
511
511
|
createdAt: string;
|
|
512
|
-
pluginVersion: string;
|
|
513
512
|
files: {
|
|
514
513
|
path: string;
|
|
515
514
|
sha256: string;
|
|
516
515
|
bytes: number;
|
|
517
516
|
}[];
|
|
517
|
+
format: "openclaw-engram-export";
|
|
518
|
+
pluginVersion: string;
|
|
519
|
+
includesTranscripts: boolean;
|
|
518
520
|
capsule: {
|
|
521
|
+
schemaVersion: string;
|
|
519
522
|
includes: {
|
|
520
523
|
procedural: boolean;
|
|
521
524
|
taxonomy: boolean;
|
|
522
525
|
identityAnchors: boolean;
|
|
523
526
|
peerProfiles: boolean;
|
|
524
527
|
};
|
|
525
|
-
description: string;
|
|
526
528
|
id: string;
|
|
527
|
-
schemaVersion: string;
|
|
528
529
|
version: string;
|
|
530
|
+
description: string;
|
|
529
531
|
parentCapsule: string | null;
|
|
530
532
|
retrievalPolicy: {
|
|
531
533
|
tierWeights: Record<string, number>;
|
|
@@ -537,28 +539,28 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
537
539
|
forkRoot: string;
|
|
538
540
|
} | null;
|
|
539
541
|
};
|
|
540
|
-
schemaVersion: 2;
|
|
541
|
-
includesTranscripts: boolean;
|
|
542
542
|
}, {
|
|
543
|
-
|
|
543
|
+
schemaVersion: 2;
|
|
544
544
|
createdAt: string;
|
|
545
|
-
pluginVersion: string;
|
|
546
545
|
files: {
|
|
547
546
|
path: string;
|
|
548
547
|
sha256: string;
|
|
549
548
|
bytes: number;
|
|
550
549
|
}[];
|
|
550
|
+
format: "openclaw-engram-export";
|
|
551
|
+
pluginVersion: string;
|
|
552
|
+
includesTranscripts: boolean;
|
|
551
553
|
capsule: {
|
|
554
|
+
schemaVersion: string;
|
|
552
555
|
includes: {
|
|
553
556
|
procedural: boolean;
|
|
554
557
|
taxonomy: boolean;
|
|
555
558
|
identityAnchors: boolean;
|
|
556
559
|
peerProfiles: boolean;
|
|
557
560
|
};
|
|
558
|
-
description: string;
|
|
559
561
|
id: string;
|
|
560
|
-
schemaVersion: string;
|
|
561
562
|
version: string;
|
|
563
|
+
description: string;
|
|
562
564
|
parentCapsule: string | null;
|
|
563
565
|
retrievalPolicy: {
|
|
564
566
|
tierWeights: Record<string, number>;
|
|
@@ -570,8 +572,6 @@ declare const ExportManifestV2Schema: z.ZodObject<{
|
|
|
570
572
|
forkRoot: string;
|
|
571
573
|
} | null | undefined;
|
|
572
574
|
};
|
|
573
|
-
schemaVersion: 2;
|
|
574
|
-
includesTranscripts: boolean;
|
|
575
575
|
}>;
|
|
576
576
|
type ExportManifestV2 = z.infer<typeof ExportManifestV2Schema>;
|
|
577
577
|
declare const ExportBundleV2Schema: z.ZodObject<{
|
|
@@ -683,16 +683,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
683
683
|
peerProfiles: boolean;
|
|
684
684
|
}>;
|
|
685
685
|
}, "strip", z.ZodTypeAny, {
|
|
686
|
+
schemaVersion: string;
|
|
686
687
|
includes: {
|
|
687
688
|
procedural: boolean;
|
|
688
689
|
taxonomy: boolean;
|
|
689
690
|
identityAnchors: boolean;
|
|
690
691
|
peerProfiles: boolean;
|
|
691
692
|
};
|
|
692
|
-
description: string;
|
|
693
693
|
id: string;
|
|
694
|
-
schemaVersion: string;
|
|
695
694
|
version: string;
|
|
695
|
+
description: string;
|
|
696
696
|
parentCapsule: string | null;
|
|
697
697
|
retrievalPolicy: {
|
|
698
698
|
tierWeights: Record<string, number>;
|
|
@@ -704,16 +704,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
704
704
|
forkRoot: string;
|
|
705
705
|
} | null;
|
|
706
706
|
}, {
|
|
707
|
+
schemaVersion: string;
|
|
707
708
|
includes: {
|
|
708
709
|
procedural: boolean;
|
|
709
710
|
taxonomy: boolean;
|
|
710
711
|
identityAnchors: boolean;
|
|
711
712
|
peerProfiles: boolean;
|
|
712
713
|
};
|
|
713
|
-
description: string;
|
|
714
714
|
id: string;
|
|
715
|
-
schemaVersion: string;
|
|
716
715
|
version: string;
|
|
716
|
+
description: string;
|
|
717
717
|
parentCapsule: string | null;
|
|
718
718
|
retrievalPolicy: {
|
|
719
719
|
tierWeights: Record<string, number>;
|
|
@@ -726,25 +726,27 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
726
726
|
} | null | undefined;
|
|
727
727
|
}>;
|
|
728
728
|
}, "strip", z.ZodTypeAny, {
|
|
729
|
-
|
|
729
|
+
schemaVersion: 2;
|
|
730
730
|
createdAt: string;
|
|
731
|
-
pluginVersion: string;
|
|
732
731
|
files: {
|
|
733
732
|
path: string;
|
|
734
733
|
sha256: string;
|
|
735
734
|
bytes: number;
|
|
736
735
|
}[];
|
|
736
|
+
format: "openclaw-engram-export";
|
|
737
|
+
pluginVersion: string;
|
|
738
|
+
includesTranscripts: boolean;
|
|
737
739
|
capsule: {
|
|
740
|
+
schemaVersion: string;
|
|
738
741
|
includes: {
|
|
739
742
|
procedural: boolean;
|
|
740
743
|
taxonomy: boolean;
|
|
741
744
|
identityAnchors: boolean;
|
|
742
745
|
peerProfiles: boolean;
|
|
743
746
|
};
|
|
744
|
-
description: string;
|
|
745
747
|
id: string;
|
|
746
|
-
schemaVersion: string;
|
|
747
748
|
version: string;
|
|
749
|
+
description: string;
|
|
748
750
|
parentCapsule: string | null;
|
|
749
751
|
retrievalPolicy: {
|
|
750
752
|
tierWeights: Record<string, number>;
|
|
@@ -756,28 +758,28 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
756
758
|
forkRoot: string;
|
|
757
759
|
} | null;
|
|
758
760
|
};
|
|
759
|
-
schemaVersion: 2;
|
|
760
|
-
includesTranscripts: boolean;
|
|
761
761
|
}, {
|
|
762
|
-
|
|
762
|
+
schemaVersion: 2;
|
|
763
763
|
createdAt: string;
|
|
764
|
-
pluginVersion: string;
|
|
765
764
|
files: {
|
|
766
765
|
path: string;
|
|
767
766
|
sha256: string;
|
|
768
767
|
bytes: number;
|
|
769
768
|
}[];
|
|
769
|
+
format: "openclaw-engram-export";
|
|
770
|
+
pluginVersion: string;
|
|
771
|
+
includesTranscripts: boolean;
|
|
770
772
|
capsule: {
|
|
773
|
+
schemaVersion: string;
|
|
771
774
|
includes: {
|
|
772
775
|
procedural: boolean;
|
|
773
776
|
taxonomy: boolean;
|
|
774
777
|
identityAnchors: boolean;
|
|
775
778
|
peerProfiles: boolean;
|
|
776
779
|
};
|
|
777
|
-
description: string;
|
|
778
780
|
id: string;
|
|
779
|
-
schemaVersion: string;
|
|
780
781
|
version: string;
|
|
782
|
+
description: string;
|
|
781
783
|
parentCapsule: string | null;
|
|
782
784
|
retrievalPolicy: {
|
|
783
785
|
tierWeights: Record<string, number>;
|
|
@@ -789,8 +791,6 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
789
791
|
forkRoot: string;
|
|
790
792
|
} | null | undefined;
|
|
791
793
|
};
|
|
792
|
-
schemaVersion: 2;
|
|
793
|
-
includesTranscripts: boolean;
|
|
794
794
|
}>;
|
|
795
795
|
records: z.ZodArray<z.ZodObject<{
|
|
796
796
|
path: z.ZodString;
|
|
@@ -804,25 +804,27 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
804
804
|
}>, "many">;
|
|
805
805
|
}, "strip", z.ZodTypeAny, {
|
|
806
806
|
manifest: {
|
|
807
|
-
|
|
807
|
+
schemaVersion: 2;
|
|
808
808
|
createdAt: string;
|
|
809
|
-
pluginVersion: string;
|
|
810
809
|
files: {
|
|
811
810
|
path: string;
|
|
812
811
|
sha256: string;
|
|
813
812
|
bytes: number;
|
|
814
813
|
}[];
|
|
814
|
+
format: "openclaw-engram-export";
|
|
815
|
+
pluginVersion: string;
|
|
816
|
+
includesTranscripts: boolean;
|
|
815
817
|
capsule: {
|
|
818
|
+
schemaVersion: string;
|
|
816
819
|
includes: {
|
|
817
820
|
procedural: boolean;
|
|
818
821
|
taxonomy: boolean;
|
|
819
822
|
identityAnchors: boolean;
|
|
820
823
|
peerProfiles: boolean;
|
|
821
824
|
};
|
|
822
|
-
description: string;
|
|
823
825
|
id: string;
|
|
824
|
-
schemaVersion: string;
|
|
825
826
|
version: string;
|
|
827
|
+
description: string;
|
|
826
828
|
parentCapsule: string | null;
|
|
827
829
|
retrievalPolicy: {
|
|
828
830
|
tierWeights: Record<string, number>;
|
|
@@ -834,8 +836,6 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
834
836
|
forkRoot: string;
|
|
835
837
|
} | null;
|
|
836
838
|
};
|
|
837
|
-
schemaVersion: 2;
|
|
838
|
-
includesTranscripts: boolean;
|
|
839
839
|
};
|
|
840
840
|
records: {
|
|
841
841
|
content: string;
|
|
@@ -843,25 +843,27 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
843
843
|
}[];
|
|
844
844
|
}, {
|
|
845
845
|
manifest: {
|
|
846
|
-
|
|
846
|
+
schemaVersion: 2;
|
|
847
847
|
createdAt: string;
|
|
848
|
-
pluginVersion: string;
|
|
849
848
|
files: {
|
|
850
849
|
path: string;
|
|
851
850
|
sha256: string;
|
|
852
851
|
bytes: number;
|
|
853
852
|
}[];
|
|
853
|
+
format: "openclaw-engram-export";
|
|
854
|
+
pluginVersion: string;
|
|
855
|
+
includesTranscripts: boolean;
|
|
854
856
|
capsule: {
|
|
857
|
+
schemaVersion: string;
|
|
855
858
|
includes: {
|
|
856
859
|
procedural: boolean;
|
|
857
860
|
taxonomy: boolean;
|
|
858
861
|
identityAnchors: boolean;
|
|
859
862
|
peerProfiles: boolean;
|
|
860
863
|
};
|
|
861
|
-
description: string;
|
|
862
864
|
id: string;
|
|
863
|
-
schemaVersion: string;
|
|
864
865
|
version: string;
|
|
866
|
+
description: string;
|
|
865
867
|
parentCapsule: string | null;
|
|
866
868
|
retrievalPolicy: {
|
|
867
869
|
tierWeights: Record<string, number>;
|
|
@@ -873,8 +875,6 @@ declare const ExportBundleV2Schema: z.ZodObject<{
|
|
|
873
875
|
forkRoot: string;
|
|
874
876
|
} | null | undefined;
|
|
875
877
|
};
|
|
876
|
-
schemaVersion: 2;
|
|
877
|
-
includesTranscripts: boolean;
|
|
878
878
|
};
|
|
879
879
|
records: {
|
|
880
880
|
content: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.6.
|
|
3
|
+
"version": "9.6.25",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3000,7 +3000,7 @@
|
|
|
3000
3000
|
"core"
|
|
3001
3001
|
],
|
|
3002
3002
|
"peerDependencies": {
|
|
3003
|
-
"@remnic/coding-graph": "^9.6.
|
|
3003
|
+
"@remnic/coding-graph": "^9.6.25"
|
|
3004
3004
|
},
|
|
3005
3005
|
"peerDependenciesMeta": {
|
|
3006
3006
|
"@remnic/coding-graph": {
|
package/src/access-http.test.ts
CHANGED
|
@@ -268,11 +268,11 @@ test("HTTP coding-context endpoint accepts projectTag shorthand", async () => {
|
|
|
268
268
|
},
|
|
269
269
|
body: JSON.stringify({
|
|
270
270
|
sessionKey: "s1",
|
|
271
|
-
projectTag: "
|
|
271
|
+
projectTag: "Acme/Webshop",
|
|
272
272
|
}),
|
|
273
273
|
});
|
|
274
274
|
|
|
275
|
-
const projectId = projectTagProjectId("
|
|
275
|
+
const projectId = projectTagProjectId("Acme/Webshop");
|
|
276
276
|
assert.equal(response.status, 200);
|
|
277
277
|
assert.deepEqual(await response.json(), { ok: true });
|
|
278
278
|
assert.deepEqual(calls, [
|
package/src/access-mcp.test.ts
CHANGED
|
@@ -301,7 +301,7 @@ test("MCP write tools accept and forward client-injected cwd/projectTag (#1434)"
|
|
|
301
301
|
category: "fact",
|
|
302
302
|
dryRun: true,
|
|
303
303
|
cwd: "/home/dev/project-x",
|
|
304
|
-
projectTag: "
|
|
304
|
+
projectTag: "Acme/Webshop",
|
|
305
305
|
}),
|
|
306
306
|
);
|
|
307
307
|
const result = (response as Record<string, unknown> & {
|
|
@@ -310,7 +310,7 @@ test("MCP write tools accept and forward client-injected cwd/projectTag (#1434)"
|
|
|
310
310
|
|
|
311
311
|
assert.equal(result?.isError, false, `${toolName} should accept cwd/projectTag`);
|
|
312
312
|
assert.equal(received?.cwd, "/home/dev/project-x", `${toolName} must forward cwd`);
|
|
313
|
-
assert.equal(received?.projectTag, "
|
|
313
|
+
assert.equal(received?.projectTag, "Acme/Webshop", `${toolName} must forward projectTag`);
|
|
314
314
|
}
|
|
315
315
|
});
|
|
316
316
|
|
package/src/access-mcp.ts
CHANGED
|
@@ -542,7 +542,7 @@ export class EngramMcpServer {
|
|
|
542
542
|
cwd: { type: "string", description: "Working directory for auto git-context resolution." },
|
|
543
543
|
projectTag: {
|
|
544
544
|
type: "string",
|
|
545
|
-
description: "Project tag for non-git project scoping (e.g. '
|
|
545
|
+
description: "Project tag for non-git project scoping (e.g. 'acme-webshop').",
|
|
546
546
|
},
|
|
547
547
|
asOf: {
|
|
548
548
|
type: "string",
|
|
@@ -611,7 +611,7 @@ export class EngramMcpServer {
|
|
|
611
611
|
projectTag: {
|
|
612
612
|
type: "string",
|
|
613
613
|
description:
|
|
614
|
-
"Arbitrary project tag for non-git project scoping (e.g. '
|
|
614
|
+
"Arbitrary project tag for non-git project scoping (e.g. 'acme-webshop'). " +
|
|
615
615
|
"Creates a coding context with projectId 'tag:<projectTag>'. " +
|
|
616
616
|
"Use instead of codingContext when the session isn't tied to a specific git repo.",
|
|
617
617
|
},
|
|
@@ -1274,7 +1274,7 @@ export class EngramMcpServer {
|
|
|
1274
1274
|
cwd: { type: "string", description: "Working directory for auto git-context resolution." },
|
|
1275
1275
|
projectTag: {
|
|
1276
1276
|
type: "string",
|
|
1277
|
-
description: "Project tag for non-git project scoping (e.g. '
|
|
1277
|
+
description: "Project tag for non-git project scoping (e.g. 'acme-webshop').",
|
|
1278
1278
|
},
|
|
1279
1279
|
},
|
|
1280
1280
|
required: ["sessionKey", "messages"],
|
|
@@ -76,11 +76,11 @@ test("#1434 projectTag scopes the write to the project namespace, read-only", as
|
|
|
76
76
|
const resolved = await resolver(service)({
|
|
77
77
|
sessionKey: "sess-1",
|
|
78
78
|
authenticatedPrincipal: "alice",
|
|
79
|
-
projectTag: "
|
|
79
|
+
projectTag: "Acme/Webshop",
|
|
80
80
|
content: "x",
|
|
81
81
|
});
|
|
82
82
|
|
|
83
|
-
assert.equal(resolved, projectNamespaceFor("
|
|
83
|
+
assert.equal(resolved, projectNamespaceFor("Acme/Webshop"));
|
|
84
84
|
assert.notEqual(resolved, "default", "project context must change the namespace");
|
|
85
85
|
// Read-only: resolving must NOT persist coding context on the session.
|
|
86
86
|
assert.equal(
|
|
@@ -100,7 +100,7 @@ test("#1434 a sessionless write with projectTag stays on the base namespace (rec
|
|
|
100
100
|
const service = new EngramAccessService(orch);
|
|
101
101
|
const resolved = await resolver(service)({
|
|
102
102
|
authenticatedPrincipal: "alice",
|
|
103
|
-
projectTag: "
|
|
103
|
+
projectTag: "Acme/Webshop",
|
|
104
104
|
content: "x",
|
|
105
105
|
});
|
|
106
106
|
assert.equal(resolved, "default");
|
|
@@ -109,9 +109,9 @@ test("#1434 a sessionless write with projectTag stays on the base namespace (rec
|
|
|
109
109
|
test("#1434 an existing session coding context scopes the write (recall-then-store flow)", async () => {
|
|
110
110
|
const orch = makeOrchestratorStub();
|
|
111
111
|
orch.setCodingContextForSession("sess-ctx", {
|
|
112
|
-
projectId: projectTagProjectId("
|
|
112
|
+
projectId: projectTagProjectId("Acme/Webshop"),
|
|
113
113
|
branch: null,
|
|
114
|
-
rootPath: projectTagProjectId("
|
|
114
|
+
rootPath: projectTagProjectId("Acme/Webshop"),
|
|
115
115
|
defaultBranch: null,
|
|
116
116
|
});
|
|
117
117
|
const service = new EngramAccessService(orch);
|
|
@@ -121,7 +121,7 @@ test("#1434 an existing session coding context scopes the write (recall-then-sto
|
|
|
121
121
|
authenticatedPrincipal: "alice",
|
|
122
122
|
content: "x",
|
|
123
123
|
});
|
|
124
|
-
assert.equal(resolved, projectNamespaceFor("
|
|
124
|
+
assert.equal(resolved, projectNamespaceFor("Acme/Webshop"));
|
|
125
125
|
});
|
|
126
126
|
|
|
127
127
|
test("#1434 an existing session binding wins over per-call projectTag (recall symmetry)", async () => {
|
|
@@ -155,7 +155,7 @@ test("#1434 explicit namespace wins and bypasses coding overlay", async () => {
|
|
|
155
155
|
sessionKey: "sess-2",
|
|
156
156
|
authenticatedPrincipal: "alice",
|
|
157
157
|
namespace: "default",
|
|
158
|
-
projectTag: "
|
|
158
|
+
projectTag: "Acme/Webshop",
|
|
159
159
|
content: "x",
|
|
160
160
|
});
|
|
161
161
|
assert.equal(resolved, "default");
|
|
@@ -208,12 +208,12 @@ test("#1434 project write overlays onto the principal self base (recall symmetry
|
|
|
208
208
|
const resolved = await resolver(service)({
|
|
209
209
|
sessionKey: "sess-3c",
|
|
210
210
|
authenticatedPrincipal: "alice",
|
|
211
|
-
projectTag: "
|
|
211
|
+
projectTag: "Acme/Webshop",
|
|
212
212
|
content: "x",
|
|
213
213
|
});
|
|
214
214
|
assert.equal(
|
|
215
215
|
resolved,
|
|
216
|
-
combineNamespaces("alice", projectNamespaceName(projectTagProjectId("
|
|
216
|
+
combineNamespaces("alice", projectNamespaceName(projectTagProjectId("Acme/Webshop"))),
|
|
217
217
|
);
|
|
218
218
|
});
|
|
219
219
|
|
|
@@ -228,7 +228,7 @@ test("#1434 an explicit coding-overlay namespace string is NOT a writable target
|
|
|
228
228
|
resolver(service)({
|
|
229
229
|
sessionKey: "sess-explicit-overlay",
|
|
230
230
|
authenticatedPrincipal: "alice",
|
|
231
|
-
namespace: projectNamespaceFor("
|
|
231
|
+
namespace: projectNamespaceFor("Acme/Webshop"), // "default-project-…"
|
|
232
232
|
content: "x",
|
|
233
233
|
}),
|
|
234
234
|
/not writable/,
|
|
@@ -308,7 +308,7 @@ test("#1434 namespaces disabled: cwd/projectTag are a no-op (common single-tenan
|
|
|
308
308
|
const service = new EngramAccessService(orch);
|
|
309
309
|
const resolved = await resolver(service)({
|
|
310
310
|
sessionKey: "sess-4",
|
|
311
|
-
projectTag: "
|
|
311
|
+
projectTag: "Acme/Webshop",
|
|
312
312
|
content: "x",
|
|
313
313
|
});
|
|
314
314
|
assert.equal(resolved, "default");
|
|
@@ -368,18 +368,18 @@ test("#1434 a real memory_store attaches coding context so a later bare recall o
|
|
|
368
368
|
const service = new EngramAccessService(orch);
|
|
369
369
|
|
|
370
370
|
const res = await service.memoryStore(
|
|
371
|
-
storeRequest({ sessionKey: "sess-attach", projectTag: "
|
|
371
|
+
storeRequest({ sessionKey: "sess-attach", projectTag: "Acme/Webshop" }),
|
|
372
372
|
);
|
|
373
373
|
|
|
374
374
|
assert.equal(res.status, "stored");
|
|
375
|
-
assert.equal(res.namespace, projectNamespaceFor("
|
|
375
|
+
assert.equal(res.namespace, projectNamespaceFor("Acme/Webshop"));
|
|
376
376
|
// The store attached the coding context the recall path reads.
|
|
377
377
|
assert.equal(
|
|
378
378
|
contexts.get("sess-attach")?.projectId,
|
|
379
|
-
projectTagProjectId("
|
|
379
|
+
projectTagProjectId("Acme/Webshop"),
|
|
380
380
|
);
|
|
381
381
|
assert.ok(
|
|
382
|
-
getStorageCalls.every((ns) => ns === projectNamespaceFor("
|
|
382
|
+
getStorageCalls.every((ns) => ns === projectNamespaceFor("Acme/Webshop")),
|
|
383
383
|
`expected all getStorage calls on the project namespace, got ${JSON.stringify(getStorageCalls)}`,
|
|
384
384
|
);
|
|
385
385
|
// A later BARE resolve (no per-call context) on the same session — what a
|
|
@@ -389,7 +389,7 @@ test("#1434 a real memory_store attaches coding context so a later bare recall o
|
|
|
389
389
|
authenticatedPrincipal: "alice",
|
|
390
390
|
content: "y",
|
|
391
391
|
});
|
|
392
|
-
assert.equal(bare, projectNamespaceFor("
|
|
392
|
+
assert.equal(bare, projectNamespaceFor("Acme/Webshop"));
|
|
393
393
|
});
|
|
394
394
|
|
|
395
395
|
test("#1434 an explicit-namespace store does NOT bind the session to a project (Codex review)", async () => {
|
|
@@ -399,7 +399,7 @@ test("#1434 an explicit-namespace store does NOT bind the session to a project (
|
|
|
399
399
|
const { orch, contexts } = makeAttachOrchestrator();
|
|
400
400
|
const service = new EngramAccessService(orch);
|
|
401
401
|
const res = await service.memoryStore(
|
|
402
|
-
storeRequest({ sessionKey: "sess-explicit", namespace: "default", projectTag: "
|
|
402
|
+
storeRequest({ sessionKey: "sess-explicit", namespace: "default", projectTag: "Acme/Webshop" }),
|
|
403
403
|
);
|
|
404
404
|
assert.equal(res.status, "stored");
|
|
405
405
|
assert.equal(res.namespace, "default");
|
|
@@ -411,7 +411,7 @@ test("#1434 a dryRun store does NOT bind the session to a project (Codex review)
|
|
|
411
411
|
const { orch, contexts } = makeAttachOrchestrator();
|
|
412
412
|
const service = new EngramAccessService(orch);
|
|
413
413
|
const res = await service.memoryStore(
|
|
414
|
-
storeRequest({ sessionKey: "sess-dry", projectTag: "
|
|
414
|
+
storeRequest({ sessionKey: "sess-dry", projectTag: "Acme/Webshop", dryRun: true }),
|
|
415
415
|
);
|
|
416
416
|
assert.equal(res.status, "validated");
|
|
417
417
|
assert.equal(contexts.get("sess-dry"), undefined, "dryRun must not bind the session");
|