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