@webex/internal-plugin-call-ai-summary 3.12.0-next.59 → 3.12.0-next.60

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.
@@ -0,0 +1,381 @@
1
+ {
2
+ "$schema": "./schemas/repo-context.schema.json",
3
+ "version": 1,
4
+ "repository": {
5
+ "name": "@webex/internal-plugin-call-ai-summary",
6
+ "purpose": "A Webex internal plugin for AI-generated call summary retrieval. Resolves a Pragya container for a call, fetches AI Bridge summary, notes, action-item, and transcript content, and returns it decrypted through the Webex KMS encryption plugin."
7
+ },
8
+ "commands": {
9
+ "install": "yarn install",
10
+ "build": "yarn build",
11
+ "lint": "yarn test:style",
12
+ "unit-test": "yarn test:unit",
13
+ "all-checks": "yarn test",
14
+ "compile": "yarn build:src",
15
+ "test-all": "yarn test",
16
+ "deploy": "yarn deploy:npm",
17
+ "manual-pragya-check": "node src/manual-pragya-api-test.js",
18
+ "manual-integration-check": "node src/manual-integration-test.js"
19
+ },
20
+ "public_interfaces": [
21
+ {
22
+ "name": "webex.internal.aisummary",
23
+ "kind": "package_export",
24
+ "source": "src/index.ts",
25
+ "entrypoints": [
26
+ "getContainer",
27
+ "getSummary",
28
+ "getNotes",
29
+ "getActionItems",
30
+ "getTranscriptUrl",
31
+ "getTranscript"
32
+ ],
33
+ "audience": "Webex SDK applications inside the monorepo",
34
+ "notes": "Registered by importing the package; verify declarations in src/ai-summary.ts."
35
+ },
36
+ {
37
+ "name": "TypeScript DTOs",
38
+ "kind": "package_export",
39
+ "source": "src/types.ts",
40
+ "entrypoints": [
41
+ "PragyaContainerResponse",
42
+ "SummaryContent",
43
+ "TranscriptContent"
44
+ ],
45
+ "audience": "TypeScript consumers",
46
+ "notes": "Ten exported interfaces; declarations are built to dist/."
47
+ }
48
+ ],
49
+ "source_of_truth": [
50
+ {
51
+ "surface": "plugin implementation",
52
+ "paths": [
53
+ "src/ai-summary.ts",
54
+ "src/index.ts",
55
+ "src/config.ts",
56
+ "src/constants.ts"
57
+ ],
58
+ "generated_artifacts": [
59
+ "dist/"
60
+ ],
61
+ "refresh_with": [
62
+ "yarn build"
63
+ ],
64
+ "validate_with": [
65
+ "yarn test:style"
66
+ ]
67
+ },
68
+ {
69
+ "surface": "typed contract",
70
+ "paths": [
71
+ "src/types.ts"
72
+ ],
73
+ "generated_artifacts": [
74
+ "dist/"
75
+ ],
76
+ "refresh_with": [
77
+ "yarn build"
78
+ ],
79
+ "validate_with": [
80
+ "yarn test:style"
81
+ ]
82
+ },
83
+ {
84
+ "surface": "specifications",
85
+ "paths": [
86
+ "docs/",
87
+ "src/docs/README.md",
88
+ "AGENTS.md"
89
+ ],
90
+ "generated_artifacts": [],
91
+ "refresh_with": [],
92
+ "validate_with": [
93
+ "python3 scripts/check_spec_index.py"
94
+ ]
95
+ }
96
+ ],
97
+ "generated_artifacts": [
98
+ {
99
+ "path": "dist/",
100
+ "generated_from": "src/",
101
+ "refresh_with": "yarn build"
102
+ },
103
+ {
104
+ "path": ".sdd/templates/repo-standards/template-map.json",
105
+ "generated_from": "the org repo-readiness standards (the repo-standards substrate)",
106
+ "refresh_with": "setup-skills.sh --target . --sdd-root ."
107
+ }
108
+ ],
109
+ "validation_matrix": [
110
+ {
111
+ "paths": [
112
+ "src/**/*.ts"
113
+ ],
114
+ "minimum": [
115
+ "yarn test:style"
116
+ ],
117
+ "recommended": [
118
+ "yarn build",
119
+ "yarn test:unit"
120
+ ]
121
+ },
122
+ {
123
+ "paths": [
124
+ "docs/**",
125
+ "src/docs/README.md",
126
+ "AGENTS.md"
127
+ ],
128
+ "minimum": [
129
+ "python3 scripts/check_spec_index.py"
130
+ ],
131
+ "recommended": []
132
+ }
133
+ ],
134
+ "change_impact": [
135
+ {
136
+ "paths": [
137
+ "src/types.ts"
138
+ ],
139
+ "affects": [
140
+ "published TypeScript declarations",
141
+ "every consumer of webex.internal.aisummary"
142
+ ],
143
+ "refresh_with": [
144
+ "yarn build"
145
+ ],
146
+ "validate_with": [
147
+ "yarn test:style"
148
+ ],
149
+ "avoid_direct_edits": [
150
+ "dist/"
151
+ ],
152
+ "notes": "Type changes are contract changes even though the package is internal."
153
+ },
154
+ {
155
+ "paths": [
156
+ "src/constants.ts"
157
+ ],
158
+ "affects": [
159
+ "caller-visible error messages documented in src/docs/README.md"
160
+ ],
161
+ "refresh_with": [],
162
+ "validate_with": [
163
+ "yarn test:style"
164
+ ],
165
+ "avoid_direct_edits": [
166
+ "dist/"
167
+ ],
168
+ "notes": "Callers branch on these exact message strings."
169
+ }
170
+ ],
171
+ "glossary": [
172
+ {
173
+ "term": "container",
174
+ "definition": "A Pragya-owned record grouping the AI artifacts for one call, addressed by containerId.",
175
+ "notes": "Distinct from a Janus call session, which supplies the container ID."
176
+ },
177
+ {
178
+ "term": "Pragya",
179
+ "definition": "The AI container service that resolves container IDs into content URLs and an encryption key.",
180
+ "notes": "Discovered via U2C as serviceName 'pragya'."
181
+ },
182
+ {
183
+ "term": "AI Bridge",
184
+ "definition": "The service behind summaryUrl, notesUrl, actionItemsUrl, and transcriptUrl that serves encrypted content.",
185
+ "notes": "Addressed only by absolute URLs returned by Pragya; never resolved through the service catalog."
186
+ }
187
+ ],
188
+ "evidence_rules": [
189
+ {
190
+ "claim_category": "command_name",
191
+ "sources": [
192
+ "package.json"
193
+ ],
194
+ "requirement": "A command must appear in package.json scripts before it is documented.",
195
+ "notes": "yarn test:unit runs 35 tests from test/unit/spec/ai-summary.ts."
196
+ },
197
+ {
198
+ "claim_category": "behavior_claim",
199
+ "sources": [
200
+ "src/ai-summary.ts",
201
+ "src/types.ts",
202
+ "src/constants.ts"
203
+ ],
204
+ "requirement": "Behavior must be traceable to a current declaration, not to prior design documents.",
205
+ "notes": "Specifications are canonical under docs/ and src/docs/README.md; the pre-SDD design documents were removed after migration."
206
+ }
207
+ ],
208
+ "negative_guidance": [
209
+ {
210
+ "rule": "Do not add service discovery for summary content URLs.",
211
+ "why": "Pragya returns region-correct absolute URLs; a second mechanism could disagree."
212
+ },
213
+ {
214
+ "rule": "Do not add test fixtures under test/unit/data/.",
215
+ "why": "Jest collects test/unit/** excluding only lib and fixture, so a data/ directory is picked up as a test suite and fails. Fixtures belong in test/unit/fixture/."
216
+ }
217
+ ],
218
+ "confidence_policy": {
219
+ "high": {
220
+ "action": "update",
221
+ "expectation": "The claim is traceable to a current file under src/ or package.json."
222
+ },
223
+ "medium": {
224
+ "action": "narrow-scope",
225
+ "expectation": "Omit unverifiable detail and state the gap rather than inferring upstream behavior."
226
+ },
227
+ "low": {
228
+ "action": "noop",
229
+ "expectation": "Stop and report the gap; upstream Pragya and AI Bridge behavior cannot be verified from this repository."
230
+ }
231
+ },
232
+ "repository_topology": {
233
+ "main_entrypoints": [
234
+ {
235
+ "name": "plugin entry",
236
+ "path": "src/index.ts",
237
+ "purpose": "Registers the plugin as aisummary and imports the encryption plugin for its side effects.",
238
+ "notes": "Importing the package is what performs registration."
239
+ }
240
+ ],
241
+ "workspace_packages": [
242
+ {
243
+ "name": "@webex/internal-plugin-call-ai-summary",
244
+ "paths": [
245
+ "src/"
246
+ ],
247
+ "notes": "Single module; scripts/module_tree.py computes has_submodules=false."
248
+ }
249
+ ],
250
+ "source_surfaces": [
251
+ {
252
+ "name": "plugin source",
253
+ "paths": [
254
+ "src/*.ts"
255
+ ],
256
+ "notes": "All behavior lives in one WebexPlugin.extend object in src/ai-summary.ts."
257
+ },
258
+ {
259
+ "name": "manual verification scripts",
260
+ "paths": [
261
+ "src/manual-pragya-api-test.js",
262
+ "src/manual-integration-test.js"
263
+ ],
264
+ "notes": "Require a live Webex token; not part of any automated tier."
265
+ },
266
+ {
267
+ "name": "unit tests",
268
+ "paths": [
269
+ "test/unit/spec/*.ts",
270
+ "test/unit/fixture/*.ts"
271
+ ],
272
+ "notes": "Fixtures must stay under fixture/; any other test/unit subdirectory is collected as a suite."
273
+ }
274
+ ],
275
+ "generated_surfaces": [
276
+ {
277
+ "name": "build output",
278
+ "paths": [
279
+ "dist/"
280
+ ],
281
+ "generated_from": "src/",
282
+ "refresh_with": "yarn build",
283
+ "notes": "Never edit directly."
284
+ },
285
+ {
286
+ "name": "repo-standards template snapshot",
287
+ "paths": [
288
+ ".sdd/templates/repo-standards"
289
+ ],
290
+ "generated_from": "the org repo-readiness standards (the repo-standards substrate)",
291
+ "refresh_with": "setup-skills.sh --target . --sdd-root .",
292
+ "notes": "Resolved snapshot pinned by template-map.json; never edit in place."
293
+ }
294
+ ],
295
+ "sync_paths": [
296
+ {
297
+ "source": "the org repo-readiness standards (the repo-standards substrate)",
298
+ "targets": [
299
+ ".sdd/templates/repo-standards"
300
+ ],
301
+ "mechanism": "setup-skills.sh --target . --sdd-root .",
302
+ "notes": "Re-resolves the pinned Repo Standards template snapshot."
303
+ }
304
+ ],
305
+ "validation_entrypoints": [
306
+ {
307
+ "name": "lint",
308
+ "command": "yarn test:style",
309
+ "scope": "src/**/*",
310
+ "notes": "The only validation that currently exercises anything."
311
+ },
312
+ {
313
+ "name": "unit",
314
+ "command": "yarn test:unit",
315
+ "scope": "unit tests",
316
+ "notes": "35 tests in test/unit/spec/ai-summary.ts."
317
+ }
318
+ ]
319
+ },
320
+ "folder_readme_contract": {
321
+ "required_sections": [
322
+ "purpose",
323
+ "boundaries",
324
+ "key-files",
325
+ "common-tasks"
326
+ ],
327
+ "rules": [
328
+ "Orient the reader before showing detail; link the owning specification rather than restating it."
329
+ ],
330
+ "example_policy": "Include a usage example only when it is verifiable against current declarations.",
331
+ "fallback": "Omit a section rather than inferring content that no source supports."
332
+ },
333
+ "surface_owners": [
334
+ {
335
+ "surface": "plugin implementation and typed contract",
336
+ "owner": "Webex JS SDK Team",
337
+ "edit_boundary": "src/ only; dist/ is generated."
338
+ },
339
+ {
340
+ "surface": "Pragya and AI Bridge HTTP contracts",
341
+ "owner": "Pragya and AI Bridge service teams",
342
+ "edit_boundary": "Externally owned; consumed here and not modifiable from this repository."
343
+ }
344
+ ],
345
+ "do_not_edit": [
346
+ "dist/",
347
+ ".sdd/templates/"
348
+ ],
349
+ "marker_scopes": {
350
+ "sdd": [
351
+ "sdd-generated-metadata"
352
+ ]
353
+ },
354
+ "fallback_rules": [
355
+ "When upstream Pragya or AI Bridge behavior cannot be verified from this repository, state the limit rather than inferring it.",
356
+ "When a command is missing, stop and ask rather than inventing an alternative."
357
+ ],
358
+ "downstream_context_pack": {
359
+ "required_human_surfaces": [
360
+ "docs/index.md",
361
+ "docs/architecture.md",
362
+ "docs/getting-started.md",
363
+ "src/docs/README.md"
364
+ ],
365
+ "required_agent_operational_surfaces": [
366
+ "AGENTS.md",
367
+ "docs/specs/README.md"
368
+ ],
369
+ "required_machine_readable_surface": ".sdd/manifest.json",
370
+ "recommended_machine_readable_sections": [
371
+ "public_interfaces",
372
+ "change_impact",
373
+ "glossary",
374
+ "evidence_rules",
375
+ "negative_guidance",
376
+ "confidence_policy",
377
+ "repository_topology",
378
+ "folder_readme_contract"
379
+ ]
380
+ }
381
+ }