@ai-matrx/agents 0.9.2 → 0.10.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.0 — 2026-09-09
4
+
5
+ **`@ai-matrx/agents/mandates` — clients stop typing mandate keys by hand.**
6
+
7
+ A TypeScript client never declares a mandate: aidream's `declare_mandate` is the
8
+ only declaration path in the system. Until now clients still *named* mandates
9
+ with hand-typed string literals and local `mandates.ts` mirror files, so a typo,
10
+ a rename, or a retired key failed at run time as a 404 nobody saw — and the
11
+ release report had no way to resolve a client's references against the key set
12
+ the client actually shipped.
13
+
14
+ This release publishes that key set. `mandates/keys.generated.ts` is emitted by
15
+ THE ONE GENERATOR (`aidream/scripts/mandates_generate.py`, stage (h)) from the
16
+ in-process declarations — the same `declared_mandates()` the boot sync writes the
17
+ database from — and cross-checked against the live `origin='code'` rows on every
18
+ credentialed pass. The key set of every published version is committed beside it
19
+ under `mandates/snapshots/keys.<version>.json` and ships in the tarball, so a
20
+ scan can resolve a client's references against the key set of the exact version
21
+ it depends on (Mandate Declaration & Usage Reporting, DESIGN § 4.5 step 2).
22
+
23
+ ### Consumer action
24
+
25
+ Import keys from `@ai-matrx/agents/mandates`; hand-typed key literals and local
26
+ `mandates.ts` mirrors are retired — lane L6.
27
+
28
+ - `MANDATE_KEYS` — every declared key, keyed by THE IDENTIFIER RULE (`.` → `__`,
29
+ anything outside `[A-Za-z0-9_]` → `_`, a leading digit gets an `_`): so
30
+ `seo.keyword_classifier` is `MANDATE_KEYS.seo__keyword_classifier`.
31
+ - `type MandateKey` — the union. Type every carrier parameter with it: a
32
+ made-up key then fails type-check instead of failing in production.
33
+ `as MandateKey` casts are the same defect the literals were.
34
+ - `isMandateKey(x)` / `assertMandateKey(x, context?)` for anything that crossed
35
+ a wire (a URL segment, a stored preference, a row's `mandate_key`).
36
+ - `MANDATE_FAMILIES` — prefix → members, for a family aidream declares from the
37
+ feature's own roster; `MandateFamilyMember<P>` types one member.
38
+ - `mandateKeyOfApp(appSlug, surfaceSlug?)` / `mandateKeyOfShortcut(slug,
39
+ surfaceSlug?)` for the DB-authored `app.*` / `shortcut.*` families. They return
40
+ a branded `DynamicMandateKey`, deliberately **not** assignable to `MandateKey`
41
+ — no generated union can contain a row a user created five minutes ago. A
42
+ carrier that genuinely accepts either says `MandateKey | DynamicMandateKey`.
43
+ - `RETIRING_MANDATE_KEYS` / `MANDATE_KEYS_META` — the deprecation list and the
44
+ aidream revision + generator version the key set came from.
45
+
46
+ **Two-phase retire.** A key that stops being declared does not disappear: it is
47
+ emitted `@deprecated retiring since <version>`, stays in the `MandateKey` union,
48
+ and leaves only after three already-published versions have shipped it that way.
49
+ A client that lags one release gets a deprecation warning with a remedy, never a
50
+ hard type error it cannot act on until it upgrades.
51
+
52
+ ### Additive only
53
+
54
+ No export was removed, renamed or re-signed. `./mandates` is a new subpath; every
55
+ existing entry is untouched.
56
+
3
57
  ## 0.9.2 — 2026-09-09
4
58
 
5
59
  **THE ARCHIVED-ITEMS LAW, APPLIED TO THE PICKER — the first instance of a
@@ -0,0 +1,513 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // mandates/index.ts
21
+ var mandates_exports = {};
22
+ __export(mandates_exports, {
23
+ ALL_MANDATE_KEYS: () => ALL_MANDATE_KEYS,
24
+ DYNAMIC_MANDATE_FAMILIES: () => DYNAMIC_MANDATE_FAMILIES,
25
+ MANDATE_FAMILIES: () => MANDATE_FAMILIES,
26
+ MANDATE_KEYS: () => MANDATE_KEYS,
27
+ MANDATE_KEYS_META: () => MANDATE_KEYS_META,
28
+ RETIRING_MANDATE_KEYS: () => RETIRING_MANDATE_KEYS,
29
+ assertMandateKey: () => assertMandateKey,
30
+ isMandateKey: () => isMandateKey,
31
+ mandateKeyOfApp: () => mandateKeyOfApp,
32
+ mandateKeyOfShortcut: () => mandateKeyOfShortcut
33
+ });
34
+ module.exports = __toCommonJS(mandates_exports);
35
+
36
+ // mandates/keys.generated.ts
37
+ var MANDATE_KEYS_META = {
38
+ aidreamRevision: "068266e5f1573c84c63916423d32ceac77827a34",
39
+ generatorVersion: "1.0.0",
40
+ packageVersion: "0.10.0",
41
+ retireWindow: 3
42
+ };
43
+ var MANDATE_KEYS = {
44
+ agent_apps__auto_create: "agent_apps.auto_create",
45
+ agent_apps__auto_create_lightning: "agent_apps.auto_create_lightning",
46
+ agent_apps__metadata: "agent_apps.metadata",
47
+ agent_apps__prompt_app_dev: "agent_apps.prompt_app_dev",
48
+ agent_factory__structure_builder: "agent_factory.structure_builder",
49
+ ambient__page_guidance: "ambient.page_guidance",
50
+ chat__cx_default: "chat.cx_default",
51
+ chat__default_new_chat: "chat.default_new_chat",
52
+ chat__quick_audio_plan: "chat.quick_audio_plan",
53
+ chat__quick_fair_news: "chat.quick_fair_news",
54
+ chat__quick_flashcards: "chat.quick_flashcards",
55
+ chat__quick_image: "chat.quick_image",
56
+ chat__quick_org_chart: "chat.quick_org_chart",
57
+ chat__quick_research: "chat.quick_research",
58
+ chat__quick_showcase: "chat.quick_showcase",
59
+ chat__quick_writing_partner: "chat.quick_writing_partner",
60
+ chat__response_mode_brainstorm: "chat.response_mode_brainstorm",
61
+ chat__response_mode_data: "chat.response_mode_data",
62
+ chat__response_mode_research: "chat.response_mode_research",
63
+ chat__response_mode_video: "chat.response_mode_video",
64
+ code_editor__code_edit: "code_editor.code_edit",
65
+ code_editor__dynamic_context_edit: "code_editor.dynamic_context_edit",
66
+ code_editor__prompt_app_ui_edit: "code_editor.prompt_app_ui_edit",
67
+ coding_session__managed_translation_reference: "coding_session.managed_translation_reference",
68
+ commerce_intake__assess_value: "commerce_intake.assess_value",
69
+ commerce_intake__extract_vision: "commerce_intake.extract_vision",
70
+ commerce_intake__grading: "commerce_intake.grading",
71
+ commerce_intake__instant_analysis: "commerce_intake.instant_analysis",
72
+ commerce_intake__refute_no_value: "commerce_intake.refute_no_value",
73
+ commerce_intake__research_product: "commerce_intake.research_product",
74
+ commerce_intake__segment_photos: "commerce_intake.segment_photos",
75
+ commerce_intake__verify_enrichment: "commerce_intake.verify_enrichment",
76
+ content_ir__component_artisan: "content_ir.component_artisan",
77
+ content_ir__kind_architect: "content_ir.kind_architect",
78
+ content_ir__kind_component_builder: "content_ir.kind_component_builder",
79
+ content_ir__kind_creator: "content_ir.kind_creator",
80
+ content_plan__brief_writer: "content_plan.brief_writer",
81
+ content_plan__entity_attacher: "content_plan.entity_attacher",
82
+ content_plan__entity_curator: "content_plan.entity_curator",
83
+ content_plan__family_namer: "content_plan.family_namer",
84
+ content_plan__keyword_strategist: "content_plan.keyword_strategist",
85
+ content_plan__p3_family: "content_plan.p3_family",
86
+ content_plan__p4_write: "content_plan.p4_write",
87
+ content_plan__p5_review: "content_plan.p5_review",
88
+ content_plan__p6_build: "content_plan.p6_build",
89
+ content_plan__plan_reviewer: "content_plan.plan_reviewer",
90
+ content_plan__route_picker: "content_plan.route_picker",
91
+ content_plan__shape_planner: "content_plan.shape_planner",
92
+ conversation__action_auditor: "conversation.action_auditor",
93
+ conversation__decision_ledger: "conversation.decision_ledger",
94
+ conversation__drift_auditor: "conversation.drift_auditor",
95
+ conversation__outcome_summarizer: "conversation.outcome_summarizer",
96
+ conversation__vision_extractor: "conversation.vision_extractor",
97
+ conversation__vision_interviewer: "conversation.vision_interviewer",
98
+ crm__journalist_beat_analyst: "crm.journalist_beat_analyst",
99
+ crm__media_list_ranker: "crm.media_list_ranker",
100
+ crm__outreach_draft_reviewer: "crm.outreach_draft_reviewer",
101
+ crm__outreach_personalization_coach: "crm.outreach_personalization_coach",
102
+ crm__outreach_personalization_writer: "crm.outreach_personalization_writer",
103
+ crm__outreach_pitch_writer: "crm.outreach_pitch_writer",
104
+ crm__outreach_recipient_shortlister: "crm.outreach_recipient_shortlister",
105
+ crm__outreach_reply_drafter: "crm.outreach_reply_drafter",
106
+ crm__party_kind_judge: "crm.party_kind_judge",
107
+ crm__save_contact: "crm.save_contact",
108
+ data__page_guidance: "data.page_guidance",
109
+ dictionary__workspace_guide: "dictionary.workspace_guide",
110
+ education__admin_guidance: "education.admin_guidance",
111
+ education__analytics_narrate: "education.analytics_narrate",
112
+ education__audio_study_guidance: "education.audio_study_guidance",
113
+ education__card_image_generator: "education.card_image_generator",
114
+ education__card_image_prompt_writer: "education.card_image_prompt_writer",
115
+ education__card_image_qc_judge: "education.card_image_qc_judge",
116
+ education__card_image_web_source: "education.card_image_web_source",
117
+ education__classes_guidance: "education.classes_guidance",
118
+ education__creator_guidance: "education.creator_guidance",
119
+ education__data_guidance: "education.data_guidance",
120
+ education__exam_prep_guidance: "education.exam_prep_guidance",
121
+ education__family_guidance: "education.family_guidance",
122
+ education__fastfire_guidance: "education.fastfire_guidance",
123
+ education__features_guidance: "education.features_guidance",
124
+ education__flashcards_guidance: "education.flashcards_guidance",
125
+ education__game_guidance: "education.game_guidance",
126
+ education__grade_handwritten: "education.grade_handwritten",
127
+ education__grade_work_guidance: "education.grade_work_guidance",
128
+ education__kit_title: "education.kit_title",
129
+ education__learn_guidance: "education.learn_guidance",
130
+ education__levels_guidance: "education.levels_guidance",
131
+ education__library_guidance: "education.library_guidance",
132
+ education__media_guidance: "education.media_guidance",
133
+ education__memory_generate: "education.memory_generate",
134
+ education__memory_guidance: "education.memory_guidance",
135
+ education__memory_hint: "education.memory_hint",
136
+ education__mind_maps_guidance: "education.mind_maps_guidance",
137
+ education__mindmap_generate: "education.mindmap_generate",
138
+ education__notes_generate: "education.notes_generate",
139
+ education__notes_guidance: "education.notes_guidance",
140
+ education__offline_guidance: "education.offline_guidance",
141
+ education__page_guidance: "education.page_guidance",
142
+ education__plan_generate: "education.plan_generate",
143
+ education__planner_guidance: "education.planner_guidance",
144
+ education__practice_oral_guidance: "education.practice_oral_guidance",
145
+ education__practice_tests_guidance: "education.practice_tests_guidance",
146
+ education__progress_guidance: "education.progress_guidance",
147
+ education__quiz_deepen_item: "education.quiz_deepen_item",
148
+ education__quiz_generate: "education.quiz_generate",
149
+ education__quiz_generate_from_source: "education.quiz_generate_from_source",
150
+ education__quizzes_guidance: "education.quizzes_guidance",
151
+ education__spoken_practice_design: "education.spoken_practice_design",
152
+ education__spoken_practice_design_language: "education.spoken_practice_design_language",
153
+ education__spoken_practice_grade: "education.spoken_practice_grade",
154
+ education__spoken_practice_grade_pronunciation: "education.spoken_practice_grade_pronunciation",
155
+ education__spoken_practice_review: "education.spoken_practice_review",
156
+ education__start_guidance: "education.start_guidance",
157
+ education__study_aids_guidance: "education.study_aids_guidance",
158
+ education__study_pack_flashcards: "education.study_pack_flashcards",
159
+ education__study_pack_lessons: "education.study_pack_lessons",
160
+ education__study_pack_notes: "education.study_pack_notes",
161
+ education__study_pack_quiz: "education.study_pack_quiz",
162
+ education__study_pack_v2_flashcards: "education.study_pack_v2_flashcards",
163
+ education__study_pack_v2_lessons: "education.study_pack_v2_lessons",
164
+ education__study_pack_v2_notes: "education.study_pack_v2_notes",
165
+ education__study_pack_v2_quiz: "education.study_pack_v2_quiz",
166
+ education__subjects_guidance: "education.subjects_guidance",
167
+ education__summaries_guidance: "education.summaries_guidance",
168
+ education__summarize: "education.summarize",
169
+ education__tutor_guidance: "education.tutor_guidance",
170
+ education__tutor_message: "education.tutor_message",
171
+ education__voice_tutor: "education.voice_tutor",
172
+ extend__browser_chat: "extend.browser_chat",
173
+ extend__pattern_from_data: "extend.pattern_from_data",
174
+ extend__structured_extractor: "extend.structured_extractor",
175
+ flashcards__enrich_card: "flashcards.enrich_card",
176
+ flashcards__expand_card: "flashcards.expand_card",
177
+ flashcards__generate_cards: "flashcards.generate_cards",
178
+ flashcards__generate_from_source: "flashcards.generate_from_source",
179
+ flashcards__grade_spoken: "flashcards.grade_spoken",
180
+ flashcards__grade_typed_answer: "flashcards.grade_typed_answer",
181
+ flashcards__help_live: "flashcards.help_live",
182
+ flashcards__helper_tts: "flashcards.helper_tts",
183
+ flashcards__make_quiz_items: "flashcards.make_quiz_items",
184
+ flashcards__micro_coach: "flashcards.micro_coach",
185
+ flashcards__review_batch: "flashcards.review_batch",
186
+ flashcards__spoken_front_tts: "flashcards.spoken_front_tts",
187
+ flashcards__verify_against_source: "flashcards.verify_against_source",
188
+ foundry__planner: "foundry.planner",
189
+ growth_loop__quality_analyze: "growth_loop.quality_analyze",
190
+ growth_loop__quality_brief: "growth_loop.quality_brief",
191
+ growth_loop__quality_crawl: "growth_loop.quality_crawl",
192
+ growth_loop__quality_fill: "growth_loop.quality_fill",
193
+ growth_loop__quality_measure: "growth_loop.quality_measure",
194
+ growth_loop__quality_plan: "growth_loop.quality_plan",
195
+ growth_loop__quality_publish: "growth_loop.quality_publish",
196
+ growth_loop__quality_realize: "growth_loop.quality_realize",
197
+ growth_loop__quality_research: "growth_loop.quality_research",
198
+ growth_loop__quality_serve: "growth_loop.quality_serve",
199
+ growth_loop__quality_suggest: "growth_loop.quality_suggest",
200
+ growth_loop__quality_writeback: "growth_loop.quality_writeback",
201
+ growth_loop__supervisor: "growth_loop.supervisor",
202
+ hindsight__crystallizer: "hindsight.crystallizer",
203
+ hindsight__replay_judge: "hindsight.replay_judge",
204
+ hindsight__reviewer: "hindsight.reviewer",
205
+ human_decisions__fallback_decider: "human_decisions.fallback_decider",
206
+ iteration__architect: "iteration.architect",
207
+ iteration__diagnostic: "iteration.diagnostic",
208
+ iteration__root_cause: "iteration.root_cause",
209
+ iteration__thinking_display: "iteration.thinking_display",
210
+ kg__cluster_namer: "kg.cluster_namer",
211
+ kg__ner_extractor: "kg.ner_extractor",
212
+ knowledge__document_verifier: "knowledge.document_verifier",
213
+ knowledge__qa_generator: "knowledge.qa_generator",
214
+ knowledge__section_summarizer: "knowledge.section_summarizer",
215
+ local__cloud_chat: "local.cloud_chat",
216
+ marketing__endowment_analysis: "marketing.endowment_analysis",
217
+ marketing__endowment_portfolio: "marketing.endowment_portfolio",
218
+ marketing__image_prompt: "marketing.image_prompt",
219
+ marketing__page_image: "marketing.page_image",
220
+ marketing__page_image_all_in_one: "marketing.page_image_all_in_one",
221
+ marketing__video_metadata: "marketing.video_metadata",
222
+ masterwork__approach_selector: "masterwork.approach_selector",
223
+ masterwork__audition_judge: "masterwork.audition_judge",
224
+ masterwork__bad_draft: "masterwork.bad_draft",
225
+ masterwork__checkup_auditor: "masterwork.checkup_auditor",
226
+ masterwork__coherence_partner: "masterwork.coherence_partner",
227
+ masterwork__conductor: "masterwork.conductor",
228
+ masterwork__corpus_cleaner: "masterwork.corpus_cleaner",
229
+ masterwork__corpus_synthesizer: "masterwork.corpus_synthesizer",
230
+ masterwork__exception_hunter: "masterwork.exception_hunter",
231
+ masterwork__exemplar_distiller: "masterwork.exemplar_distiller",
232
+ masterwork__intake_designer: "masterwork.intake_designer",
233
+ masterwork__monologue_distiller: "masterwork.monologue_distiller",
234
+ masterwork__relationship_auditor: "masterwork.relationship_auditor",
235
+ masterwork__rule_improver: "masterwork.rule_improver",
236
+ masterwork__rulebook_auditor: "masterwork.rulebook_auditor",
237
+ masterwork__scout: "masterwork.scout",
238
+ masterwork__source_distiller: "masterwork.source_distiller",
239
+ masterwork__template__chief_edit: "masterwork.template.chief_edit",
240
+ masterwork__template__chief_generate: "masterwork.template.chief_generate",
241
+ masterwork__template__editor: "masterwork.template.editor",
242
+ masterwork__template__maker: "masterwork.template.maker",
243
+ masterwork__transcript_distiller: "masterwork.transcript_distiller",
244
+ masterwork__transcript_shortlister: "masterwork.transcript_shortlister",
245
+ masterwork__understudy: "masterwork.understudy",
246
+ media__youtube_analyzer: "media.youtube_analyzer",
247
+ meet__live_intelligence: "meet.live_intelligence",
248
+ meet__live_notes: "meet.live_notes",
249
+ meet__wrap_up: "meet.wrap_up",
250
+ messaging__action_item_extraction: "messaging.action_item_extraction",
251
+ messaging__conversation_catch_up: "messaging.conversation_catch_up",
252
+ messaging__conversation_summary: "messaging.conversation_summary",
253
+ messaging__reply_drafting: "messaging.reply_drafting",
254
+ ner__deep_chunk_extractor: "ner.deep_chunk_extractor",
255
+ ner__document_orienter: "ner.document_orienter",
256
+ ner__entity_canonicalizer: "ner.entity_canonicalizer",
257
+ ner__finisher: "ner.finisher",
258
+ ner__item_proposer: "ner.item_proposer",
259
+ ner__magic_moment_detector: "ner.magic_moment_detector",
260
+ ner__scope_proposer: "ner.scope_proposer",
261
+ ner__scope_slot_filler: "ner.scope_slot_filler",
262
+ ner__suggestion_reviewer: "ner.suggestion_reviewer",
263
+ ner__sweep_scope_discoverer: "ner.sweep_scope_discoverer",
264
+ ner__sweep_scope_reference_finder: "ner.sweep_scope_reference_finder",
265
+ ner__sweep_value_miner: "ner.sweep_value_miner",
266
+ notes__organizer: "notes.organizer",
267
+ notes__page_guidance: "notes.page_guidance",
268
+ observability__tool_trace_pattern_detection: "observability.tool_trace_pattern_detection",
269
+ observability__tool_trace_triage: "observability.tool_trace_triage",
270
+ orchestras__role_describer: "orchestras.role_describer",
271
+ pdf__content_cleaner: "pdf.content_cleaner",
272
+ podcast__audience_adapter: "podcast.audience_adapter",
273
+ podcast__audio_dialogue: "podcast.audio_dialogue",
274
+ podcast__audio_english: "podcast.audio_english",
275
+ podcast__audio_persian: "podcast.audio_persian",
276
+ podcast__chapter_marker: "podcast.chapter_marker",
277
+ podcast__content_extractor: "podcast.content_extractor",
278
+ podcast__deep_research: "podcast.deep_research",
279
+ podcast__image_v1: "podcast.image_v1",
280
+ podcast__image_v2: "podcast.image_v2",
281
+ podcast__image_v3: "podcast.image_v3",
282
+ podcast__image_v4: "podcast.image_v4",
283
+ podcast__image_v5: "podcast.image_v5",
284
+ podcast__image_v6_feature: "podcast.image_v6_feature",
285
+ podcast__image_v6_feature_prompt: "podcast.image_v6_feature_prompt",
286
+ podcast__live_rewrite: "podcast.live_rewrite",
287
+ podcast__metadata: "podcast.metadata",
288
+ podcast__multihost_script: "podcast.multihost_script",
289
+ podcast__post_prep_expansion: "podcast.post_prep_expansion",
290
+ podcast__post_prep_fact_checking: "podcast.post_prep_fact_checking",
291
+ podcast__post_prep_summarization: "podcast.post_prep_summarization",
292
+ podcast__post_prep_translation: "podcast.post_prep_translation",
293
+ podcast__race_frontier: "podcast.race_frontier",
294
+ podcast__relevance_gate: "podcast.relevance_gate",
295
+ podcast__roundtable_script: "podcast.roundtable_script",
296
+ podcast__script_educational: "podcast.script_educational",
297
+ podcast__script_news: "podcast.script_news",
298
+ podcast__script_persian: "podcast.script_persian",
299
+ podcast__solo_script: "podcast.solo_script",
300
+ podcast__title_optimizer: "podcast.title_optimizer",
301
+ podcast__video_v1: "podcast.video_v1",
302
+ podcast__video_v2: "podcast.video_v2",
303
+ podcast_client__blog_writer: "podcast_client.blog_writer",
304
+ podcast_client__show_notes: "podcast_client.show_notes",
305
+ podcast_client__topic_ideas: "podcast_client.topic_ideas",
306
+ podcast_client__web_content_extractor: "podcast_client.web_content_extractor",
307
+ podcast_client__youtube_research: "podcast_client.youtube_research",
308
+ projects__creation_guide: "projects.creation_guide",
309
+ proof_runs__judge: "proof_runs.judge",
310
+ purpose__writer: "purpose.writer",
311
+ rag__chunk_contextualizer: "rag.chunk_contextualizer",
312
+ rag__hyde_generator: "rag.hyde_generator",
313
+ rag__pdf_page_cleaner: "rag.pdf_page_cleaner",
314
+ rag__query_expander: "rag.query_expander",
315
+ research__auto_tagger: "research.auto_tagger",
316
+ research__condenser_1: "research.condenser_1",
317
+ research__condenser_2: "research.condenser_2",
318
+ research__coverage_audit: "research.coverage_audit",
319
+ research__cross_cutting_tags: "research.cross_cutting_tags",
320
+ research__document_assembly: "research.document_assembly",
321
+ research__keyword_synthesis: "research.keyword_synthesis",
322
+ research__report: "research.report",
323
+ research__report_updater: "research.report_updater",
324
+ research__source_authority: "research.source_authority",
325
+ research__structured_page_summary: "research.structured_page_summary",
326
+ research__suggest_setup: "research.suggest_setup",
327
+ research__tag_consolidation: "research.tag_consolidation",
328
+ research_client__output_blog: "research_client.output_blog",
329
+ research_client__output_brand_profile: "research_client.output_brand_profile",
330
+ research_client__output_competitive_landscape: "research_client.output_competitive_landscape",
331
+ research_client__output_gap_analysis: "research_client.output_gap_analysis",
332
+ research_client__output_literature_review: "research_client.output_literature_review",
333
+ research_client__output_reputation_business: "research_client.output_reputation_business",
334
+ research_client__output_reputation_personal: "research_client.output_reputation_personal",
335
+ research_client__output_seo: "research_client.output_seo",
336
+ research_client__output_slides: "research_client.output_slides",
337
+ scraper__fact_check: "scraper.fact_check",
338
+ scraper__keyword_analysis: "scraper.keyword_analysis",
339
+ seo__ai_visibility_decision_analyst: "seo.ai_visibility_decision_analyst",
340
+ seo__backlink_context_assessor: "seo.backlink_context_assessor",
341
+ seo__backlink_work_planner: "seo.backlink_work_planner",
342
+ seo__business_model_verdict: "seo.business_model_verdict",
343
+ seo__competitor_classifier: "seo.competitor_classifier",
344
+ seo__competitor_opportunity_autopsy: "seo.competitor_opportunity_autopsy",
345
+ seo__competitor_page_autopsy: "seo.competitor_page_autopsy",
346
+ seo__coverage_analyst: "seo.coverage_analyst",
347
+ seo__digital_pr_reputation_adjudicator: "seo.digital_pr_reputation_adjudicator",
348
+ seo__evidence_workbench: "seo.evidence_workbench",
349
+ seo__finding_fixer: "seo.finding_fixer",
350
+ seo__guidelines_drafter: "seo.guidelines_drafter",
351
+ seo__ideal_customer_profile: "seo.ideal_customer_profile",
352
+ seo__keyword_classifier: "seo.keyword_classifier",
353
+ seo__keyword_expander: "seo.keyword_expander",
354
+ seo__keyword_researcher: "seo.keyword_researcher",
355
+ seo__keyword_serp_intent_analyst: "seo.keyword_serp_intent_analyst",
356
+ seo__landscape_brief: "seo.landscape_brief",
357
+ seo__money_map: "seo.money_map",
358
+ seo__offering_extraction: "seo.offering_extraction",
359
+ seo__offering_valuation: "seo.offering_valuation",
360
+ seo__page_analyzer: "seo.page_analyzer",
361
+ seo__page_keyword_mapper: "seo.page_keyword_mapper",
362
+ seo__press_source_request_responder: "seo.press_source_request_responder",
363
+ seo__press_story_analyst: "seo.press_story_analyst",
364
+ seo__site_intake: "seo.site_intake",
365
+ seo__site_link_authority_router: "seo.site_link_authority_router",
366
+ seo__site_strategist: "seo.site_strategist",
367
+ seo__starter_pack_proposer: "seo.starter_pack_proposer",
368
+ seo__topic_assigner: "seo.topic_assigner",
369
+ sms__owner_beta: "sms.owner_beta",
370
+ surfaces_client__binding_mapper: "surfaces_client.binding_mapper",
371
+ tasks__triage: "tasks.triage",
372
+ tool_viz__component_generator: "tool_viz.component_generator",
373
+ tools__summarize_content: "tools.summarize_content",
374
+ transcript_studio__document_edit: "transcript_studio.document_edit",
375
+ transcript_studio__scribe_live: "transcript_studio.scribe_live",
376
+ vision_interview__adversary: "vision_interview.adversary",
377
+ vision_interview__amplifier: "vision_interview.amplifier",
378
+ vision_interview__answer_tracker: "vision_interview.answer_tracker",
379
+ vision_interview__archaeologist: "vision_interview.archaeologist",
380
+ vision_interview__architect: "vision_interview.architect",
381
+ vision_interview__cartographer: "vision_interview.cartographer",
382
+ vision_interview__requirements_author: "vision_interview.requirements_author",
383
+ vision_interview__scribe: "vision_interview.scribe",
384
+ vision_interview__sounding_board: "vision_interview.sounding_board",
385
+ vision_interview__transcript_cleaner: "vision_interview.transcript_cleaner",
386
+ vision_interview__vision_author: "vision_interview.vision_author",
387
+ voice__communicator: "voice.communicator",
388
+ voice__intro: "voice.intro",
389
+ voice__owner_beta: "voice.owner_beta",
390
+ war_room__master: "war_room.master",
391
+ war_room__room: "war_room.room",
392
+ war_room__thread: "war_room.thread",
393
+ web__endpoint_family_judge: "web.endpoint_family_judge",
394
+ workflow__complex_research__keyword_synthesis: "workflow.complex_research.keyword_synthesis",
395
+ workflow__complex_research__page_summary: "workflow.complex_research.page_summary",
396
+ workflow__complex_research__report: "workflow.complex_research.report",
397
+ workflow__conductor: "workflow.conductor",
398
+ workflow__deep_research__keyword_synthesis: "workflow.deep_research.keyword_synthesis",
399
+ workflow__extract_namer: "workflow.extract_namer",
400
+ workflow__plan_design: "workflow.plan_design",
401
+ workflow__plan_input_kind_authoring: "workflow.plan_input_kind_authoring",
402
+ workflow__plan_node_type_recommender: "workflow.plan_node_type_recommender",
403
+ workflow__plan_notes_writer: "workflow.plan_notes_writer",
404
+ workflow__plan_output_kind_authoring: "workflow.plan_output_kind_authoring",
405
+ workflow__recovery_advisor: "workflow.recovery_advisor",
406
+ workflow__run_assist_suggester: "workflow.run_assist_suggester",
407
+ workflow__steward: "workflow.steward",
408
+ workflow__steward__agent_run: "workflow.steward.agent_run",
409
+ workflow__steward__data: "workflow.steward.data",
410
+ workflow__steward__decision: "workflow.steward.decision",
411
+ workflow__steward__user_input: "workflow.steward.user_input"
412
+ };
413
+ var ALL_MANDATE_KEYS = Object.values(MANDATE_KEYS);
414
+ var RETIRING_MANDATE_KEYS = {};
415
+ var MANDATE_FAMILIES = {
416
+ "ambient.page_guidance_overrides": [
417
+ "data.page_guidance",
418
+ "education.admin_guidance",
419
+ "education.audio_study_guidance",
420
+ "education.classes_guidance",
421
+ "education.creator_guidance",
422
+ "education.data_guidance",
423
+ "education.exam_prep_guidance",
424
+ "education.family_guidance",
425
+ "education.fastfire_guidance",
426
+ "education.features_guidance",
427
+ "education.flashcards_guidance",
428
+ "education.game_guidance",
429
+ "education.grade_work_guidance",
430
+ "education.learn_guidance",
431
+ "education.levels_guidance",
432
+ "education.library_guidance",
433
+ "education.media_guidance",
434
+ "education.memory_guidance",
435
+ "education.mind_maps_guidance",
436
+ "education.notes_guidance",
437
+ "education.offline_guidance",
438
+ "education.page_guidance",
439
+ "education.planner_guidance",
440
+ "education.practice_oral_guidance",
441
+ "education.practice_tests_guidance",
442
+ "education.progress_guidance",
443
+ "education.quizzes_guidance",
444
+ "education.start_guidance",
445
+ "education.study_aids_guidance",
446
+ "education.subjects_guidance",
447
+ "education.summaries_guidance",
448
+ "education.tutor_guidance",
449
+ "notes.page_guidance"
450
+ ],
451
+ "conversation": [
452
+ "conversation.action_auditor",
453
+ "conversation.decision_ledger",
454
+ "conversation.drift_auditor",
455
+ "conversation.outcome_summarizer",
456
+ "conversation.vision_extractor",
457
+ "conversation.vision_interviewer"
458
+ ],
459
+ "vision_interview": [
460
+ "vision_interview.adversary",
461
+ "vision_interview.amplifier",
462
+ "vision_interview.answer_tracker",
463
+ "vision_interview.archaeologist",
464
+ "vision_interview.architect",
465
+ "vision_interview.cartographer",
466
+ "vision_interview.requirements_author",
467
+ "vision_interview.scribe",
468
+ "vision_interview.sounding_board",
469
+ "vision_interview.transcript_cleaner",
470
+ "vision_interview.vision_author"
471
+ ]
472
+ };
473
+ var DYNAMIC_MANDATE_FAMILIES = {
474
+ "app": { prefix: "app", note: "One mandate per user-built app (`mandate.definition` origin='user')." },
475
+ "shortcut": { prefix: "shortcut", note: "One mandate per user-authored shortcut (origin='user')." }
476
+ };
477
+ var DYNAMIC_SLUG = /^[a-z0-9]+(?:_[a-z0-9]+)*$/;
478
+ function dynamicKey(prefix, ...slugs) {
479
+ const parts = slugs.filter((slug) => slug !== void 0);
480
+ if (parts.length === 0) {
481
+ throw new Error(
482
+ `mandate family "${prefix}" needs at least a member slug \u2014 it was given none.`
483
+ );
484
+ }
485
+ for (const slug of parts) {
486
+ if (!DYNAMIC_SLUG.test(slug)) {
487
+ throw new Error(
488
+ `mandate family "${prefix}" cannot name a member from ${JSON.stringify(slug)}: a segment is lowercase words joined by single underscores. Pass the slug the row carries, never a display name.`
489
+ );
490
+ }
491
+ }
492
+ return [prefix, ...parts].join(".");
493
+ }
494
+ function mandateKeyOfApp(appSlug, surfaceSlug) {
495
+ return dynamicKey("app", appSlug, surfaceSlug);
496
+ }
497
+ function mandateKeyOfShortcut(shortcutSlug, surfaceSlug) {
498
+ return dynamicKey("shortcut", shortcutSlug, surfaceSlug);
499
+ }
500
+
501
+ // mandates/index.ts
502
+ var KEY_SET = new Set(ALL_MANDATE_KEYS);
503
+ function isMandateKey(value) {
504
+ return typeof value === "string" && KEY_SET.has(value);
505
+ }
506
+ function assertMandateKey(value, context) {
507
+ if (isMandateKey(value)) return;
508
+ const where = context ? ` at ${context}` : "";
509
+ throw new Error(
510
+ `${JSON.stringify(value)} is not a declared mandate key${where}. @ai-matrx/agents@${MANDATE_KEYS_META.packageVersion} ships ${ALL_MANDATE_KEYS.length} keys (aidream ${MANDATE_KEYS_META.aidreamRevision.slice(0, 12)}). If the key is real, this package is behind \u2014 take \`latest\` and re-check. If it is a user-built app or shortcut, it is DB-authored: build it with mandateKeyOfApp() / mandateKeyOfShortcut(), which return DynamicMandateKey.`
511
+ );
512
+ }
513
+ //# sourceMappingURL=index.cjs.map