On this page
Overview
Normalizes, creates, updates, remembers, selects, and formats complete conversation action items.
- Artifact
ConversationActionItems.js· esm - Classification
public first party - Availability
Cross-host - Normalization
Fully normalized status/base/presentation contract.
Import and lifecycle
import * as module from '/arcane/modules/ConversationActionItems.js';
Pure complete-content normalization and lifecycle transforms with no persistence, reminders, delivery, or timers.
Application-facing behavior: Action-item constants and lifecycle/formatting helpers.
Protocol and host implementation
In-process only This detail does not widen the application-facing API or grant authority.
Exports, signatures, parameters, and results
| Binding | Form | Declaration or signature | Parameter syntax |
|---|---|---|---|
normalizeRememberedConversationActions | function | function normalizeRememberedConversationActions(value=[]) | value=[] |
normalizeConversationActionItem | function | function normalizeConversationActionItem(value) | value |
normalizeConversationActionItems | function | function normalizeConversationActionItems(value=[]) | value=[] |
createConversationActionItem | function | function createConversationActionItem(action,{
id=defaultActionItemId(),
sourceChatId=null,
now=Date.now()
}={}) | action,{
id=defaultActionItemId(),
sourceChatId=null,
now=Date.now()
}={} |
rememberConversationActionItems | function | function rememberConversationActionItems(current=[],actions=[],{
idFactory=defaultActionItemId,
sourceChatId=null,
now=Date.now()
}={}) | current=[],actions=[],{
idFactory=defaultActionItemId,
sourceChatId=null,
now=Date.now()
}={} |
updateConversationActionItem | function | function updateConversationActionItem(current=[],id,patch={}, {
now=Date.now()
}={}) | current=[],id,patch={}, {
now=Date.now()
}={} |
removeConversationActionItem | function | function removeConversationActionItem(current=[],id) | current=[],id |
outstandingConversationActionItems | function | function outstandingConversationActionItems(current=[]) | current=[] |
selectConversationActionItemsForPresentation | function | function selectConversationActionItemsForPresentation(current=[],{
conversationId,
now=Date.now(),
cooldownMs=DEFAULT_PRESENTATION_COOLDOWN_MS
}={}) | current=[],{
conversationId,
now=Date.now(),
cooldownMs=DEFAULT_PRESENTATION_COOLDOWN_MS
}={} |
markConversationActionItemsPresented | function | function markConversationActionItemsPresented(current=[],ids=[],{
conversationId,
now=Date.now()
}={}) | current=[],ids=[],{
conversationId,
now=Date.now()
}={} |
conversationActionItemsInstruction | function | function conversationActionItemsInstruction(selected=[],{
enabled=true,
completionToolName='complete_conversation_action_items'
}={}) | selected=[],{
enabled=true,
completionToolName='complete_conversation_action_items'
}={} |
formatConversationActionItemCheckIn | function | function formatConversationActionItemCheckIn(value) | value |
CONVERSATION_ACTION_ITEM_BASES | alias · value | ACTION_ITEM_BASES as CONVERSATION_ACTION_ITEM_BASES | — |
CONVERSATION_ACTION_ITEM_STATUSES | alias · value | ACTION_ITEM_STATUSES as CONVERSATION_ACTION_ITEM_STATUSES | — |
CONVERSATION_ACTION_ITEM_PRESENTATION_COOLDOWN_MS | alias · value | DEFAULT_PRESENTATION_COOLDOWN_MS as CONVERSATION_ACTION_ITEM_PRESENTATION_COOLDOWN_MS | — |
Parameter meanings and results
Helpers create, normalize, remember, update, remove, select, and mark open or completed items with an explicit basis, IDs, revisions, timestamps, and presentation cooldown. Formatting returns inert check-in or prompt text.
Events, side effects, and errors
Source-literal CustomEvent dispatches
No source-literal CustomEvent dispatch is part of this artifact.
Lifecycle and event flow
This artifact has no additional documented lifecycle event flow.
Direct coded failures
CONVERSATION_ACTION_ITEM_INVALID
Exported Error subclasses
This artifact exports no Error subclass.
Documented failure behavior
- CONVERSATION_ACTION_ITEM_INVALID
Availability and capabilities
Cross-host. Fully normalized status/base/presentation contract.
Provider-neutral conversation and Profile data contract; callers own consent and persistence, and Core is not invoked.
Contract example
import {createConversationActionItem, outstandingConversationActionItems} from '/arcane/modules/ConversationActionItems.js';
const item=createConversationActionItem({
text:'Send the draft',
basis:'user_commitment'
},{id:'item-1',sourceChatId:'chat-1',now:0});
console.log(item,outstandingConversationActionItems([item]));
Related reference
No direct Core call is claimed for this artifact. Any injected provider or consuming module retains its own documented authority.