mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-22 02:02:13 +02:00
Enables the M1 parallel-reads optimisation on the webapp side. Both
consumers of runPlannerLoop pass an isParallelSafe predicate derived
from the tool catalog:
isParallelSafe: (name) =>
AI_TOOL_CATALOG_BY_NAME.get(name)?.defaultPolicy === 'auto'
Auto-policy tools (list_tasks, get_habits, nutrition_summary, …) run
via Promise.all in batches of 10 when the LLM fans them out in one
round. Propose-policy tools — which surface to the user as Proposal
cards — stay sequential so intent ordering in the inbox is preserved
and pre-execute guardrails can reason about prior-step state.
Tests: 31 existing companion + mission tests pass unchanged; the
parallel path is exercised via the new loop.test.ts cases shipped
with the M1 commit.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
504 B
TypeScript
19 lines
504 B
TypeScript
import type { BlockSpec } from '../types';
|
|
import Hero from './Hero.svelte';
|
|
import HeroInspector from './HeroInspector.svelte';
|
|
import { HeroSchema, HERO_DEFAULTS, type HeroProps } from './schema';
|
|
|
|
export const heroBlockSpec: BlockSpec<HeroProps> = {
|
|
type: 'hero',
|
|
label: 'Hero',
|
|
icon: 'heading',
|
|
category: 'content',
|
|
schema: HeroSchema,
|
|
schemaVersion: 1,
|
|
defaults: HERO_DEFAULTS,
|
|
Component: Hero,
|
|
Inspector: HeroInspector,
|
|
};
|
|
|
|
export type { HeroProps };
|
|
export { HeroSchema, HERO_DEFAULTS };
|