agentera 3.0.0-dev.21 → 3.0.0-dev.23

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 (129) hide show
  1. package/README.md +7 -3
  2. package/bundle/.cursor/agents/agentera.md +1 -1
  3. package/bundle/.opencode/agents/agentera.md +1 -1
  4. package/bundle/CHANGELOG.md +11 -0
  5. package/bundle/references/analysis/evidence-tier-authority.yaml +516 -0
  6. package/bundle/references/artifacts/state-storage-authority.yaml +109 -3
  7. package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
  8. package/bundle/references/cli/agent-ready-state-contract.yaml +22 -14
  9. package/bundle/references/cli/prime-consumer-compatibility.yaml +676 -0
  10. package/bundle/references/cli/vocabulary-index.yaml +3 -3
  11. package/bundle/references/cli/vocabulary.md +10 -3
  12. package/bundle/skills/agentera/SKILL.md +7 -6
  13. package/bundle/skills/agentera/agents/audit.toml +1 -1
  14. package/bundle/skills/agentera/agents/build.toml +1 -1
  15. package/bundle/skills/agentera/agents/design.toml +1 -1
  16. package/bundle/skills/agentera/agents/discuss.toml +1 -1
  17. package/bundle/skills/agentera/agents/document.toml +1 -1
  18. package/bundle/skills/agentera/agents/optimize.toml +1 -1
  19. package/bundle/skills/agentera/agents/orchestrate.toml +1 -1
  20. package/bundle/skills/agentera/agents/plan.toml +1 -1
  21. package/bundle/skills/agentera/agents/profile.toml +1 -1
  22. package/bundle/skills/agentera/agents/research.toml +1 -1
  23. package/bundle/skills/agentera/agents/status.toml +1 -1
  24. package/bundle/skills/agentera/agents/vision.toml +1 -1
  25. package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +31 -3
  26. package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
  27. package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
  28. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +1 -0
  29. package/dist/analytics/extractCorpus/cli.js +33 -5
  30. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  31. package/dist/analytics/extractCorpus/evidenceTiers.js +561 -0
  32. package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -0
  33. package/dist/analytics/extractCorpus/extractCorpusParity.js +1 -0
  34. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
  35. package/dist/analytics/extractCorpus/index.js +3 -0
  36. package/dist/analytics/extractCorpus/index.js.map +1 -1
  37. package/dist/analytics/extractCorpus/tierReader.js +109 -0
  38. package/dist/analytics/extractCorpus/tierReader.js.map +1 -0
  39. package/dist/analytics/profileSignals.js +212 -0
  40. package/dist/analytics/profileSignals.js.map +1 -0
  41. package/dist/analytics/usageStats.js +104 -20
  42. package/dist/analytics/usageStats.js.map +1 -1
  43. package/dist/capabilities/index.js +2 -1
  44. package/dist/capabilities/index.js.map +1 -1
  45. package/dist/capabilities/profile/instructions.js +1 -1
  46. package/dist/capabilities/profile/instructions.js.map +1 -1
  47. package/dist/capabilities/status/startupInstructions.js +35 -0
  48. package/dist/capabilities/status/startupInstructions.js.map +1 -0
  49. package/dist/cli/capabilityContext/build.js +3 -3
  50. package/dist/cli/capabilityContext/build.js.map +1 -1
  51. package/dist/cli/capabilityContext/closeout.js +5 -5
  52. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  53. package/dist/cli/capabilityContext/contract.js +4 -4
  54. package/dist/cli/capabilityContext/contract.js.map +1 -1
  55. package/dist/cli/capabilityContext/evidence.js +4 -4
  56. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  57. package/dist/cli/capabilityContext/planState.js +7 -6
  58. package/dist/cli/capabilityContext/planState.js.map +1 -1
  59. package/dist/cli/capabilityContext/shared.js +1 -1
  60. package/dist/cli/capabilityContext/shared.js.map +1 -1
  61. package/dist/cli/capabilityContext/startup.js +4 -4
  62. package/dist/cli/capabilityContext/startup.js.map +1 -1
  63. package/dist/cli/commands/lint.js +10 -2
  64. package/dist/cli/commands/lint.js.map +1 -1
  65. package/dist/cli/commands/prime/briefOrientation.js +582 -0
  66. package/dist/cli/commands/prime/briefOrientation.js.map +1 -0
  67. package/dist/cli/commands/prime/collectOrientationState.js +3 -0
  68. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  69. package/dist/cli/commands/prime/orientationOutput.js +117 -23
  70. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  71. package/dist/cli/commands/prime.js +30 -3
  72. package/dist/cli/commands/prime.js.map +1 -1
  73. package/dist/cli/commands/report.js +55 -15
  74. package/dist/cli/commands/report.js.map +1 -1
  75. package/dist/cli/commands/schema.js +3 -29
  76. package/dist/cli/commands/schema.js.map +1 -1
  77. package/dist/cli/commands/state/plan.js +3 -2
  78. package/dist/cli/commands/state/plan.js.map +1 -1
  79. package/dist/cli/help.js +1 -1
  80. package/dist/cli/help.js.map +1 -1
  81. package/dist/cli/orientation/corpusCoverage.js +32 -0
  82. package/dist/cli/orientation/corpusCoverage.js.map +1 -1
  83. package/dist/cli/orientation.js +3 -3
  84. package/dist/cli/orientation.js.map +1 -1
  85. package/dist/cli/startupCompletenessContract.js +3 -3
  86. package/dist/cli/startupCompletenessContract.js.map +1 -1
  87. package/dist/cli/stateQuery.js +37 -0
  88. package/dist/cli/stateQuery.js.map +1 -1
  89. package/dist/registries/evidenceTierContract.js +362 -0
  90. package/dist/registries/evidenceTierContract.js.map +1 -0
  91. package/dist/registries/verbosityBudgetContract.js +206 -0
  92. package/dist/registries/verbosityBudgetContract.js.map +1 -0
  93. package/dist/state/decisionLegacyValidation.js +185 -0
  94. package/dist/state/decisionLegacyValidation.js.map +1 -0
  95. package/dist/state/decisionOverlay.js +24 -1
  96. package/dist/state/decisionOverlay.js.map +1 -1
  97. package/dist/state/decisionRevision.js +622 -0
  98. package/dist/state/decisionRevision.js.map +1 -0
  99. package/dist/state/decisionRevisionPublication.js +532 -0
  100. package/dist/state/decisionRevisionPublication.js.map +1 -0
  101. package/dist/state/directRetrieval.js +55 -4
  102. package/dist/state/directRetrieval.js.map +1 -1
  103. package/dist/state/listRetrieval.js +42 -11
  104. package/dist/state/listRetrieval.js.map +1 -1
  105. package/dist/state/startupAnalysis/benchmark.js +70 -8
  106. package/dist/state/startupAnalysis/benchmark.js.map +1 -1
  107. package/dist/state/startupAnalysis/threshold.js +13 -0
  108. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  109. package/dist/state/startupProjection.js +68 -1
  110. package/dist/state/startupProjection.js.map +1 -1
  111. package/dist/state/write/candidateMutation.js +331 -0
  112. package/dist/state/write/candidateMutation.js.map +1 -0
  113. package/dist/state/write/explain.js +36 -12
  114. package/dist/state/write/explain.js.map +1 -1
  115. package/dist/state/write/helpers.js +22 -0
  116. package/dist/state/write/helpers.js.map +1 -1
  117. package/dist/state/write/mutation.js +42 -0
  118. package/dist/state/write/mutation.js.map +1 -1
  119. package/dist/state/write/operations.js +49 -1
  120. package/dist/state/write/operations.js.map +1 -1
  121. package/dist/state/write/transaction.js +23 -357
  122. package/dist/state/write/transaction.js.map +1 -1
  123. package/dist/validate/lifecycleAdapters/lifecycleMain.js +154 -0
  124. package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +1 -0
  125. package/dist/validate/lifecycleAdapters.js +5 -156
  126. package/dist/validate/lifecycleAdapters.js.map +1 -1
  127. package/dist/validate/selfAudit.js +38 -43
  128. package/dist/validate/selfAudit.js.map +1 -1
  129. package/package.json +2 -2
@@ -0,0 +1,582 @@
1
+ import { truncateCodePoints } from "../../../core/text.js";
2
+ /**
3
+ * Bounded default decision brief for the bare `agentera prime --format json`
4
+ * emission (Plan Task 3).
5
+ *
6
+ * The bare default projects the full orientation payload
7
+ * ({@link buildOrientationJsonPayload}) to a bounded decision brief: every
8
+ * required top-level field stays PRESENT (the compatibility boundary asserts
9
+ * the key set), but rich diagnostic/writer detail within those fields is
10
+ * projected to routing-essential leaves plus a named authoritative recovery
11
+ * command for each omitted sub-detail. `--dashboard`, `--fields <name>`, and
12
+ * `--context <capability>` are NOT projected and keep the full payload.
13
+ *
14
+ * The byte gate is deterministic pretty-JSON UTF-8 measurement
15
+ * (Buffer.byteLength(JSON.stringify(brief, null, 2) + "\n", "utf8")); an
16
+ * over-budget brief is rejected in favor of a bounded degraded envelope.
17
+ * Diagnostics (the `issues` deprecation warning) stay on stderr and are
18
+ * measured separately. See references/cli/prime-consumer-compatibility.yaml
19
+ * brief_omission_contract and references/artifacts/state-storage-authority.yaml
20
+ * budgets.startup.surfaces.prime_briefing.
21
+ */
22
+ /** Authoritative byte budget for the default bare prime decision brief.
23
+ * Mirrors references/artifacts/state-storage-authority.yaml
24
+ * budgets.startup.surfaces.prime_briefing.max_utf8_bytes and
25
+ * scripts/json_output_surface_manifest.yaml prime-briefing byte_budget.
26
+ * archiveAuthority.test.ts binds the authority to the manifest; the
27
+ * primeTask3Bounds test binds this constant to the authority so the contract
28
+ * and implementation cannot drift apart. */
29
+ export const PRIME_BRIEF_MAX_UTF8_BYTES = 12000;
30
+ /** Deterministic pretty-JSON UTF-8 byte length (including the trailing newline)
31
+ * used by the brief byte gate. Identical to the projection-policy serializer
32
+ * (serializedProjectionBytes) so measurement is consistent across surfaces. */
33
+ export function briefUtf8Bytes(value) {
34
+ const serialized = JSON.stringify(value, null, 2);
35
+ if (serialized === undefined)
36
+ throw new TypeError("brief value is not JSON serializable");
37
+ return Buffer.byteLength(serialized + "\n", "utf8");
38
+ }
39
+ /** Byte-gate primitive: deterministic UTF-8 measurement + budget comparison.
40
+ * AC5: a passing fixture (bytes <= budget) is accepted; an over-budget fixture
41
+ * (bytes > budget) is rejected. */
42
+ export function briefByteGate(value, budget = PRIME_BRIEF_MAX_UTF8_BYTES) {
43
+ const bytes = briefUtf8Bytes(value);
44
+ return { accepted: bytes <= budget, bytes };
45
+ }
46
+ /** Rich-state sub-detail projected out of the default brief, each with a named
47
+ * authoritative recovery command (AC4). Mirrors brief_omission_contract in
48
+ * references/cli/prime-consumer-compatibility.yaml. */
49
+ const OMITTED_RICH_STATE = [
50
+ { field: "plan.tasks", reason: "plan_task_detail", recovery: "agentera state plan tasks list --format json" },
51
+ { field: "plan.archived_plans", reason: "archive_catalog", recovery: "agentera state plan list --format json" },
52
+ { field: "plan.diagnostics", reason: "plan_diagnostics", recovery: "agentera state plan --format json" },
53
+ { field: "history.entries", reason: "startup_history_entries", recovery: "agentera state <artifact> list --limit 20 --format json" },
54
+ { field: "runtime_lifecycle.runtimes", reason: "lifecycle_runtime_detail", recovery: "agentera upgrade --dry-run --format json" },
55
+ { field: "project_integration.phases", reason: "phase_blockers", recovery: "agentera doctor --format json" },
56
+ { field: "source_contract.artifact_writes.artifacts", reason: "writer_contract_detail", recovery: "agentera schema --format json" },
57
+ { field: "docs.source_contract", reason: "docs_state_families", recovery: "agentera state docs --format json" },
58
+ { field: "profile.bounded_signals", reason: "profile_signal_detail", recovery: "agentera profile --format json" },
59
+ ];
60
+ /** Maximum number of ranked next_action alternatives retained in the brief.
61
+ * The recommended entry is always kept; overflow alternatives recover via the
62
+ * state-derived readiness cascade rather than raw artifact access. */
63
+ const BRIEF_NEXT_ACTION_ALTERNATIVES = 3;
64
+ /** Code-point cap for routing-essential free-text scalars retained in the brief
65
+ * (e.g. progress.latest.what/next). Matches the boundStartupValue 200-cp
66
+ * limit already applied to context payloads so the brief never lets a single
67
+ * pathological scalar blow the budget; the full value recovers via the named
68
+ * state command. */
69
+ const BRIEF_SCALAR_MAX_CHARS = 200;
70
+ /** Keys owned by the state-presence contract. Unknown keys are caller data, not
71
+ * routing signals, so the brief never copies them into a fallback envelope. */
72
+ const STATE_PRESENCE_ACTIVE_KEYS = ["plan", "objective"];
73
+ const STATE_PRESENCE_AVAILABLE_KEYS = ["plan", "docs", "progress", "health", "objective"];
74
+ const STATE_PRESENCE_ABSENCE_KEYS = ["plan", "docs", "progress"];
75
+ const BRIEF_SOURCE_FIELDS_MAX = 64;
76
+ const BRIEF_SOURCE_STRING_MAX_CHARS = 256;
77
+ const BRIEF_COMPACT_SOURCE_FIELDS_MAX = 32;
78
+ const BRIEF_COMPACT_SOURCE_STRING_MAX_CHARS = 96;
79
+ const BRIEF_IRREDUCIBLE_SOURCE_FIELDS_MAX = 32;
80
+ const BRIEF_IRREDUCIBLE_SOURCE_STRING_MAX_CHARS = 64;
81
+ function isObject(value) {
82
+ return value !== null && typeof value === "object" && !Array.isArray(value);
83
+ }
84
+ /** Copy only the listed keys that exist on `source`. Keeps the brief stable when
85
+ * a conditional field is absent (e.g. plan.first_pending on an empty plan). */
86
+ function pick(source, keys) {
87
+ if (!isObject(source))
88
+ return {};
89
+ const out = {};
90
+ for (const key of keys) {
91
+ if (key in source)
92
+ out[key] = source[key];
93
+ }
94
+ return out;
95
+ }
96
+ function boundedString(value, maxChars) {
97
+ return typeof value === "string" ? truncateCodePoints(value, maxChars, "…") : undefined;
98
+ }
99
+ function boundedStringList(value, maxItems, maxChars) {
100
+ if (!Array.isArray(value))
101
+ return undefined;
102
+ return value
103
+ .filter((entry) => typeof entry === "string")
104
+ .slice(0, maxItems)
105
+ .map((entry) => truncateCodePoints(entry, maxChars, "…"));
106
+ }
107
+ function boundedBooleanMap(value, keys) {
108
+ if (!isObject(value))
109
+ return undefined;
110
+ const out = {};
111
+ for (const key of keys) {
112
+ if (typeof value[key] === "boolean")
113
+ out[key] = value[key];
114
+ }
115
+ return out;
116
+ }
117
+ function boundedStringMap(value, keys, maxChars) {
118
+ if (!isObject(value))
119
+ return undefined;
120
+ const out = {};
121
+ for (const key of keys) {
122
+ const bounded = boundedString(value[key], maxChars);
123
+ if (bounded !== undefined)
124
+ out[key] = bounded;
125
+ }
126
+ return out;
127
+ }
128
+ /** Project the presence authority to its finite, contract-owned shape. This is
129
+ * deliberately not a generic object trim: unknown caller keys cannot change
130
+ * routing, and therefore must not be allowed to consume the fallback budget. */
131
+ function briefStatePresence(value, maxChars = BRIEF_SCALAR_MAX_CHARS) {
132
+ if (value === null || value === undefined)
133
+ return value === null ? null : {};
134
+ if (!isObject(value))
135
+ return {};
136
+ const out = {};
137
+ const active = boundedBooleanMap(value.active, STATE_PRESENCE_ACTIVE_KEYS);
138
+ const available = boundedBooleanMap(value.available, STATE_PRESENCE_AVAILABLE_KEYS);
139
+ const absence = boundedStringMap(value.absence, STATE_PRESENCE_ABSENCE_KEYS, maxChars);
140
+ if (active !== undefined)
141
+ out.active = active;
142
+ if (available !== undefined)
143
+ out.available = available;
144
+ if (typeof value.any_active === "boolean")
145
+ out.any_active = value.any_active;
146
+ if (typeof value.absence_explained === "boolean")
147
+ out.absence_explained = value.absence_explained;
148
+ if (absence !== undefined)
149
+ out.absence = absence;
150
+ return out;
151
+ }
152
+ function briefPlan(plan) {
153
+ // Keep the routing-essential summary consumers read (plan.exists/status/
154
+ // title/first_pending.name and completion counts) plus the nested
155
+ // source_contract.retrieval pointer. Drop task detail, the archive catalog,
156
+ // diagnostics, and lifecycle_state — each recovers via OMITTED_RICH_STATE.
157
+ return pick(plan, [
158
+ "exists",
159
+ "active",
160
+ "status",
161
+ "title",
162
+ "complete",
163
+ "total",
164
+ "complete_plan",
165
+ "first_pending",
166
+ "task_count",
167
+ "omitted_task_count",
168
+ "source_contract",
169
+ ]);
170
+ }
171
+ function briefHistory(history) {
172
+ if (!isObject(history))
173
+ return {};
174
+ const out = {};
175
+ for (const [artifactId, entry] of Object.entries(history)) {
176
+ // Each startup-history artifact keeps its status, the routing-essential
177
+ // counts (physical/addressable/omitted), and the retrieval pointer. The
178
+ // full 10-field counts object and entries array are omitted (diagnostic;
179
+ // Task 4 decides when status needs them) and recover via the named state
180
+ // command.
181
+ const entryObj = isObject(entry) ? entry : {};
182
+ const counts = isObject(entryObj.counts) ? entryObj.counts : {};
183
+ out[artifactId] = {
184
+ ...pick(entryObj, ["artifact", "status", "retrieval"]),
185
+ counts: pick(counts, ["physical", "addressable", "omitted"]),
186
+ };
187
+ }
188
+ return out;
189
+ }
190
+ function briefRuntimeLifecycle(runtime) {
191
+ // Keep the snapshot identity, active runtime IDs, aggregate counts, and the
192
+ // release-blocked flag. Per-runtime surface/blocker detail is omitted and
193
+ // recovers via `agentera upgrade --dry-run --format json`.
194
+ return pick(runtime, [
195
+ "schemaVersion",
196
+ "snapshotVersion",
197
+ "activeRuntimeIds",
198
+ "counts",
199
+ "releaseBlocked",
200
+ ]);
201
+ }
202
+ function briefProjectIntegration(integration) {
203
+ // Keep the routing recommendation, message, pending counts, channel,
204
+ // aggregate status, and any major-boundary block (which overrides
205
+ // next_action). Upgrade commands are part of the executable upgrade route;
206
+ // preserve them only for that recommendation. Phase blockers and guidance
207
+ // detail recover via doctor.
208
+ const fields = [
209
+ "recommendation",
210
+ "message",
211
+ "update_channel",
212
+ "pending_runtime",
213
+ "pending_artifacts",
214
+ "aggregate_status",
215
+ "major_boundary_block",
216
+ ];
217
+ if (isObject(integration) && integration.recommendation === "upgrade") {
218
+ fields.push("dry_run_command", "apply_command");
219
+ }
220
+ return pick(integration, fields);
221
+ }
222
+ function briefProfile(profile) {
223
+ // opencode reads profile.status; the dashboard glyph reads profile.status.
224
+ // bounded_signals (a legacy recovery blob) is omitted and recovers via
225
+ // `agentera profile --format json`.
226
+ return pick(profile, [
227
+ "status",
228
+ "path",
229
+ "days_since_generated",
230
+ "stale",
231
+ "stale_threshold_days",
232
+ "generated_date",
233
+ "validated_date",
234
+ "suggested_action",
235
+ ]);
236
+ }
237
+ function briefApp(app) {
238
+ // `app` is required for app/v1/profile safety, but no default-bare consumer
239
+ // reads its verbose path list (the packaging gate reads app_home). Keep the
240
+ // safety-essential identity fields; full paths recover via `agentera doctor`.
241
+ return pick(app, [
242
+ "status",
243
+ "expectedVersion",
244
+ "appHome",
245
+ "skillRoot",
246
+ "runtimeRoot",
247
+ "sourceRoot",
248
+ "updateChannel",
249
+ ]);
250
+ }
251
+ function briefAttention(attention) {
252
+ // opencode reads the attention array for routing hints, but each entry is an
253
+ // advisory string. Cap each at BRIEF_SCALAR_MAX_CHARS so a pathological
254
+ // lifecycle procedure text cannot blow the budget; the full detail recovers
255
+ // via the named recovery commands in omitted_rich_state.
256
+ if (!Array.isArray(attention))
257
+ return attention ?? [];
258
+ return attention.map((entry) => typeof entry === "string" ? truncateCodePoints(entry, BRIEF_SCALAR_MAX_CHARS, "…") : entry);
259
+ }
260
+ function briefDocs(docs) {
261
+ // No default-bare consumer reads the docs projection detail. Keep the
262
+ // availability signal and mapping count; the verbose source_contract with
263
+ // state_families recovers via `agentera state docs --format json`.
264
+ return pick(docs, ["exists", "status", "mapping_entries", "indexed_documents"]);
265
+ }
266
+ function briefProgress(progress) {
267
+ // opencode reads progress.latest.number/what/next; the brief keeps the
268
+ // latest cycle but caps free-text scalars at BRIEF_SCALAR_MAX_CHARS so a
269
+ // pathological value cannot blow the budget. Full detail recovers via
270
+ // `agentera state progress get --number N --format json`.
271
+ if (!isObject(progress))
272
+ return {};
273
+ const out = pick(progress, ["exists", "status", "latest_verification", "cycle_count"]);
274
+ const latest = progress.latest;
275
+ if (isObject(latest)) {
276
+ const boundedLatest = {};
277
+ for (const [key, value] of Object.entries(latest)) {
278
+ boundedLatest[key] = typeof value === "string" ? truncateCodePoints(value, BRIEF_SCALAR_MAX_CHARS, "…") : value;
279
+ }
280
+ out.latest = boundedLatest;
281
+ }
282
+ else {
283
+ out.latest = latest;
284
+ }
285
+ return out;
286
+ }
287
+ function briefNextAction(nextAction) {
288
+ if (!isObject(nextAction))
289
+ return {};
290
+ const alternatives = Array.isArray(nextAction.alternatives)
291
+ ? nextAction.alternatives.slice(0, BRIEF_NEXT_ACTION_ALTERNATIVES)
292
+ : [];
293
+ return {
294
+ ...pick(nextAction, ["object", "capability", "reason", "phase"]),
295
+ alternatives,
296
+ };
297
+ }
298
+ function briefCapabilityContext(value, maxChars) {
299
+ if (!isObject(value))
300
+ return {};
301
+ const out = {};
302
+ for (const key of ["capability", "fetch_command", "note"]) {
303
+ const bounded = boundedString(value[key], maxChars);
304
+ if (bounded !== undefined)
305
+ out[key] = bounded;
306
+ }
307
+ if (typeof value.required_before_rendering === "boolean") {
308
+ out.required_before_rendering = value.required_before_rendering;
309
+ }
310
+ return out;
311
+ }
312
+ function briefCapabilityStartup(startup, maxChars) {
313
+ if (!isObject(startup))
314
+ return {};
315
+ const out = {};
316
+ if (typeof startup.complete_for_capability_startup === "boolean") {
317
+ out.complete_for_capability_startup = startup.complete_for_capability_startup;
318
+ }
319
+ if (typeof startup.raw_artifact_reads_required === "boolean") {
320
+ out.raw_artifact_reads_required = startup.raw_artifact_reads_required;
321
+ }
322
+ const policy = boundedString(startup.raw_artifact_read_policy, maxChars);
323
+ if (policy !== undefined)
324
+ out.raw_artifact_read_policy = policy;
325
+ for (const [key, maxItems] of [
326
+ ["available_state", 64],
327
+ ["missing_state", 16],
328
+ ["confidence_caveats", 8],
329
+ ["cli_fallback", 8],
330
+ ]) {
331
+ const bounded = boundedStringList(startup[key], maxItems, maxChars);
332
+ if (bounded !== undefined)
333
+ out[key] = bounded;
334
+ }
335
+ return out;
336
+ }
337
+ function briefArtifactWrites(writes, maxChars) {
338
+ // Keep the discovery pointer (required by the compatibility boundary test)
339
+ // and schema identity; the full writer-operation matrix recovers via schema.
340
+ if (!isObject(writes))
341
+ return {};
342
+ const out = {};
343
+ for (const key of ["schemaVersion", "discovery_command"]) {
344
+ const bounded = boundedString(writes[key], maxChars);
345
+ if (bounded !== undefined)
346
+ out[key] = bounded;
347
+ }
348
+ return out;
349
+ }
350
+ function briefSourceContract(sourceContract, projection = "normal") {
351
+ if (!isObject(sourceContract))
352
+ return {};
353
+ const maxItems = projection === "normal"
354
+ ? BRIEF_SOURCE_FIELDS_MAX
355
+ : projection === "compact"
356
+ ? BRIEF_COMPACT_SOURCE_FIELDS_MAX
357
+ : BRIEF_IRREDUCIBLE_SOURCE_FIELDS_MAX;
358
+ const maxChars = projection === "normal"
359
+ ? BRIEF_SOURCE_STRING_MAX_CHARS
360
+ : projection === "compact"
361
+ ? BRIEF_COMPACT_SOURCE_STRING_MAX_CHARS
362
+ : BRIEF_IRREDUCIBLE_SOURCE_STRING_MAX_CHARS;
363
+ const out = {};
364
+ const fields = boundedStringList(sourceContract.fields, maxItems, maxChars);
365
+ if (fields !== undefined)
366
+ out.fields = fields;
367
+ for (const key of ["render", "access", "empty_state"]) {
368
+ const bounded = boundedString(sourceContract[key], maxChars);
369
+ if (bounded !== undefined)
370
+ out[key] = bounded;
371
+ }
372
+ if (projection !== "irreducible" && isObject(sourceContract.capability_context)) {
373
+ out.capability_context = briefCapabilityContext(sourceContract.capability_context, maxChars);
374
+ }
375
+ else if (projection === "irreducible" && isObject(sourceContract.capability_context)) {
376
+ const capabilityContext = briefCapabilityContext(sourceContract.capability_context, maxChars);
377
+ if ("fetch_command" in capabilityContext) {
378
+ out.capability_context = { fetch_command: capabilityContext.fetch_command };
379
+ }
380
+ }
381
+ if (isObject(sourceContract.capability_startup)) {
382
+ if (projection === "irreducible") {
383
+ const startup = sourceContract.capability_startup;
384
+ const minimalStartup = {};
385
+ if (typeof startup.complete_for_capability_startup === "boolean") {
386
+ minimalStartup.complete_for_capability_startup = startup.complete_for_capability_startup;
387
+ }
388
+ if (typeof startup.raw_artifact_reads_required === "boolean") {
389
+ minimalStartup.raw_artifact_reads_required = startup.raw_artifact_reads_required;
390
+ }
391
+ out.capability_startup = minimalStartup;
392
+ }
393
+ else {
394
+ out.capability_startup = briefCapabilityStartup(sourceContract.capability_startup, maxChars);
395
+ }
396
+ }
397
+ if (isObject(sourceContract.artifact_writes)) {
398
+ if (projection !== "irreducible") {
399
+ out.artifact_writes = briefArtifactWrites(sourceContract.artifact_writes, maxChars);
400
+ }
401
+ }
402
+ return out;
403
+ }
404
+ /** Project the full orientation payload to a bounded decision brief. The brief
405
+ * keeps every required top-level field present (content projected to
406
+ * routing-essential leaves) plus a `brief` meta block that records the budget,
407
+ * measured bytes, status, and omitted rich-state recovery commands.
408
+ *
409
+ * Measurement uses deterministic pretty-JSON UTF-8 byte length including the
410
+ * trailing newline. The reported `utf8_bytes` is settled to a fixed point so
411
+ * it equals the actual emitted byte count (self-measurement otherwise changes
412
+ * its own digit count); the gate then decides on the final form. */
413
+ export function briefOrientationPayload(payload, options = {}) {
414
+ const budget = options.budgetBytes ?? PRIME_BRIEF_MAX_UTF8_BYTES;
415
+ if (!Number.isSafeInteger(budget) || budget < 0) {
416
+ throw new RangeError("brief budget must be a non-negative safe integer");
417
+ }
418
+ const projected = projectBriefBody(payload);
419
+ const finalPayload = withBriefMeta(projected, "ok", budget, null);
420
+ const gate = briefByteGate(finalPayload, budget);
421
+ if (gate.accepted) {
422
+ return finalPayload;
423
+ }
424
+ // Over-budget brief: reject the projected payload and emit a bounded degraded
425
+ // envelope (never emit an over-budget payload). The envelope keeps
426
+ // command/status/mode/state_presence, a brief source_contract, and the
427
+ // byte-budget error with a recovery command.
428
+ return degradedBriefEnvelope(payload, budget, gate.bytes);
429
+ }
430
+ /** Attach the brief meta block and settle `utf8_bytes` to a fixed point so the
431
+ * reported size equals the actual emitted byte count (otherwise the digits of
432
+ * `utf8_bytes` itself would change the measurement). */
433
+ function withBriefMeta(body, status, budget, error) {
434
+ const meta = {
435
+ budget_utf8_bytes: budget,
436
+ status,
437
+ omitted_rich_state: OMITTED_RICH_STATE.map((entry) => ({ ...entry })),
438
+ };
439
+ if (error)
440
+ meta.error = error;
441
+ return settledBriefEnvelope(body, meta);
442
+ }
443
+ function projectBriefBody(payload) {
444
+ const out = {};
445
+ for (const [key, value] of Object.entries(payload)) {
446
+ switch (key) {
447
+ case "plan":
448
+ out[key] = briefPlan(value);
449
+ break;
450
+ case "history":
451
+ out[key] = briefHistory(value);
452
+ break;
453
+ case "runtime_lifecycle":
454
+ out[key] = briefRuntimeLifecycle(value);
455
+ break;
456
+ case "project_integration":
457
+ out[key] = briefProjectIntegration(value);
458
+ break;
459
+ case "profile":
460
+ out[key] = briefProfile(value);
461
+ break;
462
+ case "app":
463
+ out[key] = briefApp(value);
464
+ break;
465
+ case "progress":
466
+ out[key] = briefProgress(value);
467
+ break;
468
+ case "next_action":
469
+ out[key] = briefNextAction(value);
470
+ break;
471
+ case "attention":
472
+ out[key] = briefAttention(value);
473
+ break;
474
+ case "docs":
475
+ out[key] = briefDocs(value);
476
+ break;
477
+ case "source_contract":
478
+ out[key] = briefSourceContract(value);
479
+ break;
480
+ case "state_presence":
481
+ out[key] = briefStatePresence(value);
482
+ break;
483
+ default:
484
+ // command, status, app_home, app, mode, health, todo, issues, progress,
485
+ // attention, decision_attention, the bespoke context
486
+ // pointers, and conditional v1_migration/docs/objective pass through at
487
+ // full fidelity (they are either already bounded or routing-essential).
488
+ out[key] = value;
489
+ break;
490
+ }
491
+ }
492
+ return out;
493
+ }
494
+ function boundedEnvelopeScalar(value, fallback) {
495
+ return boundedString(value, BRIEF_SCALAR_MAX_CHARS) ?? fallback;
496
+ }
497
+ function degradedBody(payload, projection) {
498
+ return {
499
+ command: boundedEnvelopeScalar(payload.command, "prime"),
500
+ status: boundedEnvelopeScalar(payload.status, "ok"),
501
+ mode: boundedEnvelopeScalar(payload.mode, "unknown"),
502
+ state_presence: briefStatePresence(payload.state_presence),
503
+ source_contract: briefSourceContract(payload.source_contract, projection),
504
+ };
505
+ }
506
+ /** Settle the self-measuring byte field and return only at a fixed point. The
507
+ * serialized value and the reported value therefore use the same pretty UTF-8
508
+ * plus newline accounting as emitStructured. */
509
+ function settledBriefEnvelope(body, meta) {
510
+ let brief = { ...meta, utf8_bytes: 0 };
511
+ let envelope = { ...body, brief };
512
+ for (let guard = 0; guard < 32; guard += 1) {
513
+ const bytes = briefUtf8Bytes(envelope);
514
+ if (brief.utf8_bytes === bytes)
515
+ return envelope;
516
+ brief = { ...brief, utf8_bytes: bytes };
517
+ envelope = { ...body, brief };
518
+ }
519
+ throw new Error("brief UTF-8 byte measurement did not settle");
520
+ }
521
+ export class BriefBudgetError extends Error {
522
+ budgetBytes;
523
+ minimumBytes;
524
+ constructor(budgetBytes, minimumBytes) {
525
+ super(`brief budget ${budgetBytes} bytes cannot contain the minimum routing envelope (${minimumBytes} bytes); increase the budget or use --dashboard`);
526
+ this.name = "BriefBudgetError";
527
+ this.budgetBytes = budgetBytes;
528
+ this.minimumBytes = minimumBytes;
529
+ }
530
+ }
531
+ function degradedBriefEnvelope(payload, budget, attemptedBytes) {
532
+ const detailedMeta = {
533
+ budget_utf8_bytes: budget,
534
+ status: "degraded",
535
+ attempted_utf8_bytes: attemptedBytes,
536
+ omitted_rich_state: OMITTED_RICH_STATE.map((entry) => ({ ...entry })),
537
+ error: {
538
+ class: "brief_output_budget",
539
+ message: "the projected decision brief exceeded the authority byte budget; a bounded degraded envelope was emitted instead of the over-budget payload",
540
+ recovery: "Run `agentera prime --dashboard --format json` for the full orientation payload, or `agentera state <artifact> --format json` for a specific family.",
541
+ },
542
+ };
543
+ const detailed = settledBriefEnvelope(degradedBody(payload, "normal"), detailedMeta);
544
+ if (briefByteGate(detailed, budget).accepted)
545
+ return detailed;
546
+ // A smaller deterministic fallback drops the recovery catalog but retains the
547
+ // bounded state-presence and source-contract projections plus one recovery
548
+ // command. This is what lets a configured 7KB gate remain enforceable even
549
+ // when caller data would make the detailed degraded envelope too large.
550
+ const compactMeta = {
551
+ budget_utf8_bytes: budget,
552
+ status: "degraded",
553
+ attempted_utf8_bytes: attemptedBytes,
554
+ error: {
555
+ class: "brief_output_budget",
556
+ message: "the projected decision brief exceeded the authority byte budget; compact recovery metadata was emitted",
557
+ recovery: "Run `agentera prime --dashboard --format json` for full orientation detail.",
558
+ },
559
+ };
560
+ const compact = settledBriefEnvelope(degradedBody(payload, "compact"), compactMeta);
561
+ if (briefByteGate(compact, budget).accepted)
562
+ return compact;
563
+ // The irreducible form is intentionally finite and contains only the routing
564
+ // contract. If even this cannot fit, throwing is explicit: returning an
565
+ // over-budget JSON document would violate the public output contract.
566
+ const minimumMeta = {
567
+ budget_utf8_bytes: budget,
568
+ status: "degraded",
569
+ attempted_utf8_bytes: attemptedBytes,
570
+ error: {
571
+ class: "brief_output_budget",
572
+ message: "the configured budget cannot contain the detailed recovery envelope",
573
+ recovery: "Increase the budget or run `agentera prime --dashboard --format json`.",
574
+ },
575
+ };
576
+ const minimum = settledBriefEnvelope(degradedBody(payload, "irreducible"), minimumMeta);
577
+ const minimumBytes = briefUtf8Bytes(minimum);
578
+ if (minimumBytes <= budget)
579
+ return minimum;
580
+ throw new BriefBudgetError(budget, minimumBytes);
581
+ }
582
+ //# sourceMappingURL=briefOrientation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"briefOrientation.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/briefOrientation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;6CAM6C;AAC7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD;;gFAEgF;AAChF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;oCAEoC;AACpC,MAAM,UAAU,aAAa,CAC3B,KAAc,EACd,SAAiB,0BAA0B;IAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAQD;;wDAEwD;AACxD,MAAM,kBAAkB,GAAqC;IAC3D,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,8CAA8C,EAAE;IAC7G,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,wCAAwC,EAAE;IAC/G,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mCAAmC,EAAE;IACxG,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,yDAAyD,EAAE;IACpI,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,0CAA0C,EAAE;IACjI,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,+BAA+B,EAAE;IAC5G,EAAE,KAAK,EAAE,2CAA2C,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,+BAA+B,EAAE;IACnI,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mCAAmC,EAAE;IAC/G,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,gCAAgC,EAAE;CAClH,CAAC;AAEF;;uEAEuE;AACvE,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC;;;;qBAIqB;AACrB,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;+EAC+E;AAC/E,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,WAAW,CAAU,CAAC;AAClE,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AACnG,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAE1E,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,qCAAqC,GAAG,EAAE,CAAC;AACjD,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAC/C,MAAM,yCAAyC,GAAG,EAAE,CAAC;AAErD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;gFACgF;AAChF,SAAS,IAAI,CAAC,MAAe,EAAE,IAAuB;IACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,MAAM;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,QAAgB;IACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,QAAgB,EAAE,QAAgB;IAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;SAC7D,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;SAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,IAAuB;IAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAY,CAAC;IACxE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,IAAuB,EAAE,QAAgB;IACjF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;gFAEgF;AAChF,SAAS,kBAAkB,CAAC,KAAc,EAAE,QAAQ,GAAG,sBAAsB;IAC3E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,CAAC,CAAC;IACvF,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,IAAI,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IACvD,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7E,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,SAAS;QAAE,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClG,IAAI,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,IAAa;IAC9B,yEAAyE;IACzE,kEAAkE;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,OAAO,IAAI,CAAC,IAAI,EAAE;QAChB,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,UAAU;QACV,OAAO;QACP,eAAe;QACf,eAAe;QACf,YAAY;QACZ,oBAAoB;QACpB,iBAAiB;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,WAAW;QACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC,GAAG;YAChB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACtD,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;SAC7D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,4EAA4E;IAC5E,0EAA0E;IAC1E,2DAA2D;IAC3D,OAAO,IAAI,CAAC,OAAO,EAAE;QACnB,eAAe;QACf,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ;QACR,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAoB;IACnD,qEAAqE;IACrE,kEAAkE;IAClE,2EAA2E;IAC3E,0EAA0E;IAC1E,6BAA6B;IAC7B,MAAM,MAAM,GAAG;QACb,gBAAgB;QAChB,SAAS;QACT,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;QAClB,sBAAsB;KACvB,CAAC;IACF,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IACpC,2EAA2E;IAC3E,uEAAuE;IACvE,oCAAoC;IACpC,OAAO,IAAI,CAAC,OAAO,EAAE;QACnB,QAAQ;QACR,MAAM;QACN,sBAAsB;QACtB,OAAO;QACP,sBAAsB;QACtB,gBAAgB;QAChB,gBAAgB;QAChB,kBAAkB;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAY;IAC5B,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,OAAO,IAAI,CAAC,GAAG,EAAE;QACf,QAAQ;QACR,iBAAiB;QACjB,SAAS;QACT,WAAW;QACX,aAAa;QACb,YAAY;QACZ,eAAe;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,SAAkB;IACxC,6EAA6E;IAC7E,wEAAwE;IACxE,4EAA4E;IAC5E,yDAAyD;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,IAAI,EAAE,CAAC;IACtD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAC3F,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAa;IAC9B,sEAAsE;IACtE,0EAA0E;IAC1E,mEAAmE;IACnE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,aAAa,CAAC,QAAiB;IACtC,uEAAuE;IACvE,yEAAyE;IACzE,sEAAsE;IACtE,0DAA0D;IAC1D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,aAAa,GAA4B,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClH,CAAC;QACD,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,UAAmB;IAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QACzD,CAAC,CAAE,UAAU,CAAC,YAA4B,CAAC,KAAK,CAAC,CAAC,EAAE,8BAA8B,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChE,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,QAAgB;IAC9D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAU,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACzD,GAAG,CAAC,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB,EAAE,QAAgB;IAChE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,OAAO,OAAO,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;QACjE,GAAG,CAAC,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;QAC7D,GAAG,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IACxE,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;IACzE,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,wBAAwB,GAAG,MAAM,CAAC;IAChE,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI;QAC5B,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACvB,CAAC,eAAe,EAAE,EAAE,CAAC;QACrB,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACzB,CAAC,cAAc,EAAE,CAAC,CAAC;KACX,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpE,IAAI,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAe,EAAE,QAAgB;IAC5D,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAU,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAID,SAAS,mBAAmB,CAC1B,cAAuB,EACvB,aAAuC,QAAQ;IAE/C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,UAAU,KAAK,QAAQ;QACtC,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,UAAU,KAAK,SAAS;YACxB,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,mCAAmC,CAAC;IAC1C,MAAM,QAAQ,GAAG,UAAU,KAAK,QAAQ;QACtC,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,UAAU,KAAK,SAAS;YACxB,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,yCAAyC,CAAC;IAChD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI,MAAM,KAAK,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAU,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAChD,CAAC;IACD,IAAI,UAAU,KAAK,aAAa,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC/F,CAAC;SAAM,IAAI,UAAU,KAAK,aAAa,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvF,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC9F,IAAI,eAAe,IAAI,iBAAiB,EAAE,CAAC;YACzC,GAAG,CAAC,kBAAkB,GAAG,EAAE,aAAa,EAAE,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChD,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC;YAClD,MAAM,cAAc,GAA4B,EAAE,CAAC;YACnD,IAAI,OAAO,OAAO,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;gBACjE,cAAc,CAAC,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC;YAC3F,CAAC;YACD,IAAI,OAAO,OAAO,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;gBAC7D,cAAc,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC;YACnF,CAAC;YACD,GAAG,CAAC,kBAAkB,GAAG,cAAc,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;YACjC,GAAG,CAAC,eAAe,GAAG,mBAAmB,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;qEAQqE;AACrE,MAAM,UAAU,uBAAuB,CACrC,OAAgC,EAChC,UAAoC,EAAE;IAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,0BAA0B,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,8EAA8E;IAC9E,mEAAmE;IACnE,uEAAuE;IACvE,6CAA6C;IAC7C,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;yDAEyD;AACzD,SAAS,aAAa,CACpB,IAA6B,EAC7B,MAAyB,EACzB,MAAc,EACd,KAAwB;IAExB,MAAM,IAAI,GAAe;QACvB,iBAAiB,EAAE,MAAM;QACzB,MAAM;QACN,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;KACtE,CAAC;IACF,IAAI,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC9B,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgC;IACxD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM;gBACT,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,SAAS;gBACZ,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,mBAAmB;gBACtB,GAAG,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,qBAAqB;gBACxB,GAAG,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,SAAS;gBACZ,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,KAAK;gBACR,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,UAAU;gBACb,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,aAAa;gBAChB,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,WAAW;gBACd,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,MAAM;gBACT,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,iBAAiB;gBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,gBAAgB;gBACnB,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM;YACR;gBACE,wEAAwE;gBACxE,qDAAqD;gBACrD,wEAAwE;gBACxE,wEAAwE;gBACxE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACjB,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAAgB;IAC7D,OAAO,aAAa,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,QAAQ,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,OAAgC,EAAE,UAAoC;IAC1F,OAAO;QACL,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;QACxD,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;QACnD,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;QACpD,cAAc,EAAE,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC;QAC1D,eAAe,EAAE,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED;;gDAEgD;AAChD,SAAS,oBAAoB,CAAC,IAA6B,EAAE,IAAgB;IAC3E,IAAI,KAAK,GAAe,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACnD,IAAI,QAAQ,GAA4B,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;IAC3D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK;YAAE,OAAO,QAAQ,CAAC;QAChD,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACxC,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,WAAW,CAAS;IACpB,YAAY,CAAS;IAE9B,YAAY,WAAmB,EAAE,YAAoB;QACnD,KAAK,CACH,gBAAgB,WAAW,uDAAuD,YAAY,iDAAiD,CAChJ,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,OAAgC,EAChC,MAAc,EACd,cAAsB;IAEtB,MAAM,YAAY,GAAe;QAC/B,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;QAClB,oBAAoB,EAAE,cAAc;QACpC,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACrE,KAAK,EAAE;YACL,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EACL,6IAA6I;YAC/I,QAAQ,EACN,sJAAsJ;SACzJ;KACF,CAAC;IACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;IACrF,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9D,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,WAAW,GAAe;QAC9B,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;QAClB,oBAAoB,EAAE,cAAc;QACpC,KAAK,EAAE;YACL,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE,wGAAwG;YACjH,QAAQ,EAAE,6EAA6E;SACxF;KACF,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IACpF,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE5D,6EAA6E;IAC7E,wEAAwE;IACxE,sEAAsE;IACtE,MAAM,WAAW,GAAe;QAC9B,iBAAiB,EAAE,MAAM;QACzB,MAAM,EAAE,UAAU;QAClB,oBAAoB,EAAE,cAAc;QACpC,KAAK,EAAE;YACL,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE,qEAAqE;YAC9E,QAAQ,EAAE,wEAAwE;SACnF;KACF,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,YAAY,IAAI,MAAM;QAAE,OAAO,OAAO,CAAC;IAC3C,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC"}
@@ -8,6 +8,7 @@ import { discoverSchemasDir, loadSchemas } from "../../appContext.js";
8
8
  import { activeObjectiveSummary, checkProfileStaleness, decisionFollowUp, decisionReviewAttention, docsSummary, healthSummary, issueCounts, loadTodoItems, parseProfileHeaderDates, planSummary, progressSummary, registryArtifactPath, selectStatusReadiness, statePresence, } from "../../orientation.js";
9
9
  import { buildOrientationAttention } from "../../orientation/attention.js";
10
10
  import { corpusCoverageSummary } from "../../orientation/corpusCoverage.js";
11
+ import { profileSignalsStatus } from "../../../analytics/profileSignals.js";
11
12
  import { statusBundleStatus } from "./bundleStatus.js";
12
13
  import { v1MigrationSummary } from "./v1Migration.js";
13
14
  import { summarizeRuntimeLifecycle, } from "../../../runtime/lifecycleSnapshot.js";
@@ -54,6 +55,8 @@ export function collectOrientationState(opts) {
54
55
  if (isStale)
55
56
  profileDict.suggested_action = "Run profile to refresh PROFILE.md";
56
57
  }
58
+ const boundedSignals = profileSignalsStatus(env, process.platform);
59
+ profileDict.bounded_signals = boundedSignals;
57
60
  const v1Artifacts = detectV1ArtifactPairs(process.cwd());
58
61
  const v1Migration = v1MigrationSummary(v1Artifacts, { sourceRoot, home, env });
59
62
  const plan = planSummary(schemas);
@@ -1 +1 @@
1
- {"version":3,"file":"collectOrientationState.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/collectOrientationState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collectOrientationState.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/collectOrientationState.ts"],"names":[],"mappings":"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"}