@shiftleftpt/sbd-toe-mcp 0.1.0 → 0.2.16

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.
Files changed (42) hide show
  1. package/.env.example +0 -3
  2. package/README.md +136 -254
  3. package/dist/config.js +0 -3
  4. package/dist/config.js.map +1 -1
  5. package/dist/types.d.ts +0 -3
  6. package/package.json +18 -2
  7. package/dist/backend/semantic-index-gateway.test.d.ts +0 -1
  8. package/dist/backend/semantic-index-gateway.test.js +0 -384
  9. package/dist/backend/semantic-index-gateway.test.js.map +0 -1
  10. package/dist/bootstrap/checkout-backend.d.ts +0 -31
  11. package/dist/bootstrap/checkout-backend.js +0 -136
  12. package/dist/bootstrap/checkout-backend.js.map +0 -1
  13. package/dist/bootstrap/checkout-backend.test.d.ts +0 -1
  14. package/dist/bootstrap/checkout-backend.test.js +0 -158
  15. package/dist/bootstrap/checkout-backend.test.js.map +0 -1
  16. package/dist/bootstrap/release-checkout.d.ts +0 -8
  17. package/dist/bootstrap/release-checkout.js +0 -168
  18. package/dist/bootstrap/release-checkout.js.map +0 -1
  19. package/dist/bootstrap/release-checkout.test.d.ts +0 -1
  20. package/dist/bootstrap/release-checkout.test.js +0 -137
  21. package/dist/bootstrap/release-checkout.test.js.map +0 -1
  22. package/dist/resources/sbd-toe-resources.test.d.ts +0 -1
  23. package/dist/resources/sbd-toe-resources.test.js +0 -134
  24. package/dist/resources/sbd-toe-resources.test.js.map +0 -1
  25. package/dist/test-utils.d.ts +0 -153
  26. package/dist/test-utils.js +0 -176
  27. package/dist/test-utils.js.map +0 -1
  28. package/dist/tools/generate-document.test.d.ts +0 -1
  29. package/dist/tools/generate-document.test.js +0 -189
  30. package/dist/tools/generate-document.test.js.map +0 -1
  31. package/dist/tools/map-review-scope.test.d.ts +0 -1
  32. package/dist/tools/map-review-scope.test.js +0 -204
  33. package/dist/tools/map-review-scope.test.js.map +0 -1
  34. package/dist/tools/plan-repo-governance.test.d.ts +0 -1
  35. package/dist/tools/plan-repo-governance.test.js +0 -237
  36. package/dist/tools/plan-repo-governance.test.js.map +0 -1
  37. package/dist/tools/structured-tools.test.d.ts +0 -1
  38. package/dist/tools/structured-tools.test.js +0 -459
  39. package/dist/tools/structured-tools.test.js.map +0 -1
  40. package/dist/validators/ai-disclosure.test.d.ts +0 -1
  41. package/dist/validators/ai-disclosure.test.js +0 -244
  42. package/dist/validators/ai-disclosure.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"sbd-toe-resources.test.js","sourceRoot":"","sources":["../../src/resources/sbd-toe-resources.test.ts"],"names":[],"mappings":"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"}
@@ -1,153 +0,0 @@
1
- import type { SnapshotPayload } from "./types.js";
2
- /**
3
- * Mock de um snapshot com items vazios.
4
- */
5
- export declare const emptySnapshotPayload: SnapshotPayload;
6
- /**
7
- * Mock de um snapshot con items comuns para testes.
8
- */
9
- export declare const mockSnapshotPayload: SnapshotPayload;
10
- /**
11
- * Mock com campos vazios/undefined para testes de edge cases.
12
- */
13
- export declare const edgeCaseSnapshotPayload: SnapshotPayload;
14
- /**
15
- * Mock do backend checkout de testes.
16
- */
17
- export declare const mockBackendCheckout: {
18
- schemaVersion: string;
19
- checkedOutAt: string;
20
- upstreamRepoPath: string;
21
- contractFiles: {
22
- docsSnapshot: string;
23
- entitiesSnapshot: string;
24
- docsEnrichedSnapshot: string;
25
- entitiesEnrichedSnapshot: string;
26
- indexSettings: string;
27
- runManifest: string;
28
- };
29
- runManifest: {
30
- runId: string;
31
- generatedAt: string;
32
- branch: string;
33
- commitSha: string;
34
- repoUrl: string;
35
- };
36
- indices: {
37
- docs: {
38
- indexName: string;
39
- recordFamily: string;
40
- settings: {};
41
- };
42
- entities: {
43
- indexName: string;
44
- recordFamily: string;
45
- settings: {};
46
- };
47
- };
48
- };
49
- /**
50
- * Helper para criar um record normalizado mock para testes de score e intent.
51
- */
52
- export declare function createMockNormalizedRecord(overrides?: Record<string, unknown>): {
53
- citationId: string;
54
- source: "docs";
55
- indexName: string;
56
- objectID: string;
57
- title: string;
58
- excerpt: string;
59
- chapter: string;
60
- section: string;
61
- role: string;
62
- phase: string;
63
- action: string;
64
- artefact: string;
65
- url: string;
66
- pageLabel: string;
67
- documentPath: string;
68
- chapterPath: string;
69
- documentTitle: string;
70
- tags: string[];
71
- aliases_pt_en: undefined;
72
- intent_topics: undefined;
73
- canonical_control_ids: undefined;
74
- artifact_ids: undefined;
75
- authority_level: undefined;
76
- algoliaRank: number;
77
- localScore: number;
78
- raw: {
79
- objectID: string;
80
- title: string;
81
- content: string;
82
- };
83
- };
84
- /**
85
- * Helper para criar um record com intent topics específicos.
86
- */
87
- export declare function createMockRecordWithIntentTopics(intent: string, overrides?: Record<string, unknown>): {
88
- citationId: string;
89
- source: "docs";
90
- indexName: string;
91
- objectID: string;
92
- title: string;
93
- excerpt: string;
94
- chapter: string;
95
- section: string;
96
- role: string;
97
- phase: string;
98
- action: string;
99
- artefact: string;
100
- url: string;
101
- pageLabel: string;
102
- documentPath: string;
103
- chapterPath: string;
104
- documentTitle: string;
105
- tags: string[];
106
- aliases_pt_en: undefined;
107
- intent_topics: undefined;
108
- canonical_control_ids: undefined;
109
- artifact_ids: undefined;
110
- authority_level: undefined;
111
- algoliaRank: number;
112
- localScore: number;
113
- raw: {
114
- objectID: string;
115
- title: string;
116
- content: string;
117
- };
118
- };
119
- /**
120
- * Helper para criar um record com aliases.
121
- */
122
- export declare function createMockRecordWithAliases(aliases: string[], overrides?: Record<string, unknown>): {
123
- citationId: string;
124
- source: "docs";
125
- indexName: string;
126
- objectID: string;
127
- title: string;
128
- excerpt: string;
129
- chapter: string;
130
- section: string;
131
- role: string;
132
- phase: string;
133
- action: string;
134
- artefact: string;
135
- url: string;
136
- pageLabel: string;
137
- documentPath: string;
138
- chapterPath: string;
139
- documentTitle: string;
140
- tags: string[];
141
- aliases_pt_en: undefined;
142
- intent_topics: undefined;
143
- canonical_control_ids: undefined;
144
- artifact_ids: undefined;
145
- authority_level: undefined;
146
- algoliaRank: number;
147
- localScore: number;
148
- raw: {
149
- objectID: string;
150
- title: string;
151
- content: string;
152
- };
153
- };
@@ -1,176 +0,0 @@
1
- /**
2
- * Mock de um snapshot com items vazios.
3
- */
4
- export const emptySnapshotPayload = {
5
- run_id: "test-run-001",
6
- items: []
7
- };
8
- /**
9
- * Mock de um snapshot con items comuns para testes.
10
- */
11
- export const mockSnapshotPayload = {
12
- run_id: "test-run-001",
13
- items: [
14
- {
15
- objectID: "doc-001",
16
- title: "Como fazer bootstrap do repositório",
17
- content: "Instruções para bootstrap inicial",
18
- chapter_title: "Cap. 01",
19
- section_title: "Bootstrap",
20
- tags: ["bootstrap", "setup"],
21
- aliases_pt_en: ["repository initialization", "initial setup"],
22
- intent_topics: ["bootstrap"],
23
- canonical_control_ids: ["REQ-001"],
24
- artifact_ids: ["ART-001"],
25
- authority_level: "canonical"
26
- },
27
- {
28
- objectID: "doc-002",
29
- title: "Dependências de segurança",
30
- content: "Gestão de dependências com SBOM e SCA",
31
- chapter_title: "Cap. 05",
32
- section_title: "Dependências",
33
- tags: ["dependencies", "sbom", "sca"],
34
- aliases_pt_en: ["dependency management", "package security"],
35
- intent_topics: ["dependency_governance"],
36
- canonical_control_ids: ["REQ-002"],
37
- artifact_ids: ["ART-002"],
38
- authority_level: "guidance"
39
- },
40
- {
41
- objectID: "doc-003",
42
- title: "CI/CD Gates e Aprovações",
43
- content: "Configurar gates no pipeline e aprovações de release",
44
- chapter_title: "Cap. 07",
45
- section_title: "CI/CD Seguro",
46
- tags: ["ci/cd", "pipeline", "approval"],
47
- aliases_pt_en: ["continuous integration", "release gates"],
48
- intent_topics: ["ci_cd_gates"],
49
- canonical_control_ids: ["REQ-003"],
50
- artifact_ids: [],
51
- authority_level: "canonical"
52
- },
53
- {
54
- // Record sem objectID - deve ser ignorado em enrichment
55
- title: "Record sem ID",
56
- content: "Não tem objectID",
57
- chapter_title: "Cap. 00"
58
- },
59
- {
60
- objectID: "doc-004",
61
- // Sem campos de enrichment
62
- title: "Record simples",
63
- content: "Sem enrichment fields"
64
- }
65
- ]
66
- };
67
- /**
68
- * Mock com campos vazios/undefined para testes de edge cases.
69
- */
70
- export const edgeCaseSnapshotPayload = {
71
- items: [
72
- {
73
- objectID: "edge-001",
74
- title: " título com espaços ",
75
- content: undefined,
76
- aliases_pt_en: [] // Array vazio
77
- },
78
- {
79
- objectID: "edge-002",
80
- title: "Record com tags inválidas",
81
- tags: ["", null, 123] // Valores inválidos
82
- }
83
- ]
84
- };
85
- /**
86
- * Mock do backend checkout de testes.
87
- */
88
- export const mockBackendCheckout = {
89
- schemaVersion: "0.1.0",
90
- checkedOutAt: new Date().toISOString(),
91
- upstreamRepoPath: "/upstream/repo",
92
- contractFiles: {
93
- docsSnapshot: "data/publish/docs.json",
94
- entitiesSnapshot: "data/publish/entities.json",
95
- docsEnrichedSnapshot: "data/publish/docs_enriched.json",
96
- entitiesEnrichedSnapshot: "data/publish/entities_enriched.json",
97
- indexSettings: "data/publish/index_settings.json",
98
- runManifest: "data/reports/run_manifest.json"
99
- },
100
- runManifest: {
101
- runId: "test-run-001",
102
- generatedAt: "2026-03-24T10:00:00Z",
103
- branch: "main",
104
- commitSha: "abc123def456",
105
- repoUrl: "https://github.com/test/repo"
106
- },
107
- indices: {
108
- docs: {
109
- indexName: "sbd_toe_docs_test",
110
- recordFamily: "documents",
111
- settings: {}
112
- },
113
- entities: {
114
- indexName: "sbd_toe_entities_test",
115
- recordFamily: "entities",
116
- settings: {}
117
- }
118
- }
119
- };
120
- /**
121
- * Helper para criar um record normalizado mock para testes de score e intent.
122
- */
123
- export function createMockNormalizedRecord(overrides = {}) {
124
- return {
125
- citationId: "D1",
126
- source: "docs",
127
- indexName: "test_index",
128
- objectID: "test-001",
129
- title: "Test Record",
130
- excerpt: "This is a test excerpt",
131
- chapter: "Cap. 01",
132
- section: "Section 1",
133
- role: "Developer",
134
- phase: "Development",
135
- action: "Implementation",
136
- artefact: "Code",
137
- url: "https://example.com/test",
138
- pageLabel: "page-1",
139
- documentPath: "docs/chapter-01",
140
- chapterPath: "chapter-01",
141
- documentTitle: "Test Document",
142
- tags: ["test", "mock"],
143
- aliases_pt_en: undefined,
144
- intent_topics: undefined,
145
- canonical_control_ids: undefined,
146
- artifact_ids: undefined,
147
- authority_level: undefined,
148
- algoliaRank: 1,
149
- localScore: 0,
150
- raw: {
151
- objectID: "test-001",
152
- title: "Test Record",
153
- content: "Test content"
154
- },
155
- ...overrides
156
- };
157
- }
158
- /**
159
- * Helper para criar um record com intent topics específicos.
160
- */
161
- export function createMockRecordWithIntentTopics(intent, overrides = {}) {
162
- return createMockNormalizedRecord({
163
- intent_topics: [intent, "secondary_topic"],
164
- ...overrides
165
- });
166
- }
167
- /**
168
- * Helper para criar um record com aliases.
169
- */
170
- export function createMockRecordWithAliases(aliases, overrides = {}) {
171
- return createMockNormalizedRecord({
172
- aliases_pt_en: aliases,
173
- ...overrides
174
- });
175
- }
176
- //# sourceMappingURL=test-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,189 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { handleGenerateDocument } from "./generate-document.js";
3
- // ---------------------------------------------------------------------------
4
- // Helpers
5
- // ---------------------------------------------------------------------------
6
- function call(args) {
7
- return handleGenerateDocument(args);
8
- }
9
- // ---------------------------------------------------------------------------
10
- // Validation
11
- // ---------------------------------------------------------------------------
12
- describe("handleGenerateDocument — validation", () => {
13
- it("throws rpcError -32602 for invalid type", () => {
14
- let err;
15
- try {
16
- call({ type: "invalid-type", riskLevel: "L1" });
17
- }
18
- catch (e) {
19
- err = e;
20
- }
21
- expect(err).toBeInstanceOf(Error);
22
- expect(err.rpcError?.code).toBe(-32602);
23
- expect(err.message).toContain("invalid-type");
24
- });
25
- it("throws rpcError -32602 for invalid riskLevel", () => {
26
- let err;
27
- try {
28
- call({ type: "checklist", riskLevel: "L4" });
29
- }
30
- catch (e) {
31
- err = e;
32
- }
33
- expect(err).toBeInstanceOf(Error);
34
- expect(err.rpcError?.code).toBe(-32602);
35
- expect(err.message).toContain("L4");
36
- });
37
- it("throws rpcError -32602 when type is missing", () => {
38
- let err;
39
- try {
40
- call({ riskLevel: "L1" });
41
- }
42
- catch (e) {
43
- err = e;
44
- }
45
- expect(err).toBeInstanceOf(Error);
46
- expect(err.rpcError?.code).toBe(-32602);
47
- });
48
- it("throws rpcError -32602 when riskLevel is missing", () => {
49
- let err;
50
- try {
51
- call({ type: "checklist" });
52
- }
53
- catch (e) {
54
- err = e;
55
- }
56
- expect(err).toBeInstanceOf(Error);
57
- expect(err.rpcError?.code).toBe(-32602);
58
- });
59
- });
60
- // ---------------------------------------------------------------------------
61
- // Output structure
62
- // ---------------------------------------------------------------------------
63
- describe("handleGenerateDocument — output structure", () => {
64
- it("returns required fields for all 5 types at L1", () => {
65
- const types = [
66
- "classification-template",
67
- "threat-model-template",
68
- "checklist",
69
- "training-plan",
70
- "secure-config"
71
- ];
72
- for (const type of types) {
73
- const result = call({ type, riskLevel: "L1" });
74
- expect(result.documentType).toBe(type);
75
- expect(result.riskLevel).toBe("L1");
76
- expect(result.sections.length).toBeGreaterThan(0);
77
- expect(result.acceptanceCriteria.length).toBeGreaterThan(0);
78
- expect(result.relevantBundles.length).toBeGreaterThan(0);
79
- }
80
- });
81
- it("context field is accepted but does not change output structure", () => {
82
- const withContext = call({
83
- type: "checklist",
84
- riskLevel: "L1",
85
- context: { projectName: "Test", team: "Dev" }
86
- });
87
- const withoutContext = call({
88
- type: "checklist",
89
- riskLevel: "L1"
90
- });
91
- expect(withContext.sections).toEqual(withoutContext.sections);
92
- });
93
- });
94
- // ---------------------------------------------------------------------------
95
- // L1/L2/L3 progression
96
- // ---------------------------------------------------------------------------
97
- describe("handleGenerateDocument — risk level progression", () => {
98
- it("L3 has more sections than L1 for classification-template", () => {
99
- const l1 = call({ type: "classification-template", riskLevel: "L1" });
100
- const l3 = call({ type: "classification-template", riskLevel: "L3" });
101
- expect(l3.sections.length).toBeGreaterThan(l1.sections.length);
102
- });
103
- it("L3 has more sections than L2 for threat-model-template", () => {
104
- const l2 = call({ type: "threat-model-template", riskLevel: "L2" });
105
- const l3 = call({ type: "threat-model-template", riskLevel: "L3" });
106
- expect(l3.sections.length).toBeGreaterThanOrEqual(l2.sections.length);
107
- });
108
- it("L2 has more sections than L1 for secure-config", () => {
109
- const l1 = call({ type: "secure-config", riskLevel: "L1" });
110
- const l2 = call({ type: "secure-config", riskLevel: "L2" });
111
- expect(l2.sections.length).toBeGreaterThan(l1.sections.length);
112
- });
113
- it("all types produce sections at all risk levels", () => {
114
- const types = [
115
- "classification-template",
116
- "threat-model-template",
117
- "checklist",
118
- "training-plan",
119
- "secure-config"
120
- ];
121
- const levels = ["L1", "L2", "L3"];
122
- for (const type of types) {
123
- for (const riskLevel of levels) {
124
- const result = call({ type, riskLevel });
125
- expect(result.sections.length).toBeGreaterThan(0);
126
- }
127
- }
128
- });
129
- });
130
- // ---------------------------------------------------------------------------
131
- // relevantBundles
132
- // ---------------------------------------------------------------------------
133
- describe("handleGenerateDocument — relevantBundles", () => {
134
- it("classification-template has expected bundles", () => {
135
- const result = call({ type: "classification-template", riskLevel: "L1" });
136
- expect(result.relevantBundles).toContain("01-classificacao-aplicacoes");
137
- expect(result.relevantBundles).toContain("02-requisitos-seguranca");
138
- });
139
- it("threat-model-template includes 03-threat-modeling", () => {
140
- const result = call({ type: "threat-model-template", riskLevel: "L2" });
141
- expect(result.relevantBundles).toContain("03-threat-modeling");
142
- });
143
- it("secure-config includes infrastructure bundles", () => {
144
- const result = call({ type: "secure-config", riskLevel: "L1" });
145
- expect(result.relevantBundles).toContain("08-iac-infraestrutura");
146
- expect(result.relevantBundles).toContain("09-containers-imagens");
147
- });
148
- it("training-plan includes 13-formacao-onboarding", () => {
149
- const result = call({ type: "training-plan", riskLevel: "L1" });
150
- expect(result.relevantBundles).toContain("13-formacao-onboarding");
151
- });
152
- });
153
- // ---------------------------------------------------------------------------
154
- // Section fields
155
- // ---------------------------------------------------------------------------
156
- describe("handleGenerateDocument — section fields", () => {
157
- it("each field has name, required, and guidance", () => {
158
- const result = call({ type: "checklist", riskLevel: "L2" });
159
- for (const section of result.sections) {
160
- expect(typeof section.name).toBe("string");
161
- expect(typeof section.mandatory).toBe("boolean");
162
- for (const field of section.fields) {
163
- expect(typeof field.name).toBe("string");
164
- expect(["mandatory", "conditional", "optional"]).toContain(field.required);
165
- expect(typeof field.guidance).toBe("string");
166
- expect(field.guidance.length).toBeGreaterThan(0);
167
- }
168
- }
169
- });
170
- it("guidance never contains pre-filled substantive content (only instructions)", () => {
171
- const types = [
172
- "classification-template",
173
- "threat-model-template",
174
- "checklist",
175
- "training-plan",
176
- "secure-config"
177
- ];
178
- for (const type of types) {
179
- const result = call({ type, riskLevel: "L2" });
180
- for (const section of result.sections) {
181
- for (const field of section.fields) {
182
- // guidance should be instructional — check it's not suspiciously long pre-filled content
183
- expect(field.guidance.length).toBeLessThan(300);
184
- }
185
- }
186
- }
187
- });
188
- });
189
- //# sourceMappingURL=generate-document.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-document.test.js","sourceRoot":"","sources":["../../src/tools/generate-document.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};