Call a storage node a Resource, in the palette and on the node

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Lucio Lelii 2026-09-28 16:01:17 +02:00
parent a8b1920fdb
commit 46062fca40
3 changed files with 3 additions and 3 deletions

View File

@ -86,7 +86,7 @@ describe('BlocksList', () => {
it('says what each block is from the role its type declares, not only whether a person is in it', () => {
const base = { ...DEFAULT_NODE_CAPABILITIES };
expect(blockKind({ userInteractive: false, capabilities: { ...base, visualRole: 'RESOURCE' } }).label).toBe('Resource · not a step');
expect(blockKind({ userInteractive: false, capabilities: { ...base, visualRole: 'RESOURCE' } }).label).toBe('Resource');
expect(blockKind({ userInteractive: false, capabilities: { ...base, visualRole: 'END', terminal: true } }).label).toBe('End of a path');
expect(blockKind({ userInteractive: false, capabilities: { ...base, visualRole: 'DECISION', routesExclusively: true } }).label).toBe('Automated decision');
expect(blockKind({ userInteractive: true, capabilities: { ...base, visualRole: 'DECISION', routesExclusively: true } }).label).toBe('Human decision');

View File

@ -24,7 +24,7 @@ export type BlockKind = { icon: string; label: string; modifier: string };
export function blockKind(block: Pick<BlockType, 'userInteractive' | 'capabilities'>): BlockKind {
const capabilities = block.capabilities;
const decides = capabilities?.visualRole === 'DECISION' || capabilities?.routesExclusively === true;
if (capabilities?.visualRole === 'RESOURCE') return { icon: 'database', label: 'Resource · not a step', modifier: 'resource' };
if (capabilities?.visualRole === 'RESOURCE') return { icon: 'database', label: 'Resource', modifier: 'resource' };
if (block.userInteractive) {
return decides
? { icon: 'touch_app', label: 'Human decision', modifier: 'interactive' }

View File

@ -56,7 +56,7 @@
@if (isResourceNode()) {
<div class="llm-lane-chip" title="Not a step: outputs connected to its targets are written there, its views are read by the steps they feed">
<i class="bi bi-database"></i>
<span>Storage · not a step</span>
<span>Resource</span>
</div>
}
@if (laneBadge; as lane) {