Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
97eb3e6
feat(tools): add Twilio integration tools
senamakel Oct 10, 2026
5105d65
feat(config): add integrations tool config schema
senamakel Oct 10, 2026
21f9640
chore(tools): add integration toggle tests
senamakel Oct 10, 2026
251f5cf
chore: files changed crates/openhuman-core/src/tools/ops_tests_domain…
senamakel Oct 10, 2026
9a497a7
test(tools): split ops tests into execution and serde modules
senamakel Oct 10, 2026
2aa5f08
chore(integrations): add test support backend
senamakel Oct 10, 2026
81870bd
feat(tools): add apify and linkedin tool schemas
senamakel Oct 10, 2026
6e9eaef
test(tools): add schema validation tests
senamakel Oct 10, 2026
85c5f7b
test(integrations): add coverage for composio client and integration …
senamakel Oct 10, 2026
bced5e8
fix(security): enforce egress policy on channel startup and pricing c…
senamakel Oct 10, 2026
65f5a3a
docs(integrations): drop twilio and apify from domain docs
senamakel Oct 10, 2026
296a8fb
test: drop apify linkedin scrape tool from e2e expectations
senamakel Oct 10, 2026
d7ca748
feat(conversations): add localized phrases for tool call status
senamakel Oct 10, 2026
38e22b0
chore(scripts): drop stale allowlist entries and mock stubs
senamakel Oct 10, 2026
48751ea
docs(notification): trim redundant comment on clearNotificationActions
senamakel Oct 10, 2026
0675cb5
refactor(integrations): remove unused imports from test support
senamakel Oct 10, 2026
9c5bc53
ci: lower legacy line limit for tools/ops.rs
senamakel Oct 10, 2026
ee0e6d2
Merge remote-tracking branch 'origin/main' into remove-twilio-apify-m…
senamakel Oct 10, 2026
a7c47a5
chore(deps): add jsonschema and refresh transitive dependencies
senamakel Oct 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion app/src/features/conversations/tools/toolPhrases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,6 @@ export const TOOL_PHRASES = {
searchPlaces: { active: 'Searching places', done: 'Searched places' },
lookUpPlace: { active: 'Looking up place', done: 'Looked up place' },
checkMarkets: { active: 'Checking markets', done: 'Checked markets' },
placeCall: { active: 'Placing call', done: 'Placed call' },
checkTaskSources: { active: 'Checking task sources', done: 'Checked task sources' },
updateTaskSources: { active: 'Updating task sources', done: 'Updated task sources' },
fetchTasks: { active: 'Fetching tasks', done: 'Fetched tasks' },
Expand Down
2 changes: 0 additions & 2 deletions app/src/features/conversations/tools/toolSpecs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ import {
PackageIcon,
PackagePlusIcon,
PackageSearchIcon,
PhoneIcon,
PlugIcon,
PodcastIcon,
PowerIcon,
Expand Down Expand Up @@ -376,7 +375,6 @@ export const EXACT_TOOL_SPECS: Record<string, ToolSpec> = {
gmail_unsubscribe: spec('unsubscribe', MailXIcon, 'app', { chip: chip.text('sender', 'email') }),
google_places_search: spec('searchPlaces', MapPinIcon, 'app', { chip: chip.query() }),
google_places_details: spec('lookUpPlace', MapPinIcon, 'app', { chip: chip.text('place_id') }),
twilio_call: spec('placeCall', PhoneIcon, 'app', { chip: chip.text('to') }),

// ── MCP ─────────────────────────────────────────────────────────────────
mcp_list_servers: spec('checkMcpServers', ServerIcon, 'mcp'),
Expand Down
7 changes: 3 additions & 4 deletions app/src/store/notificationSlice.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,9 @@ const notificationSlice = createSlice({
if (item) item.read = true;
},
// Drop the action buttons off a core notification once its prompt has been
// handled (e.g. a meeting auto-join join/skip succeeded). NotificationCenter
// only surfaces core items that still carry actions, so clearing them here
// removes the handled prompt from the actionable list and prevents a second
// click re-firing the same RPC (duplicate bot:join / always_join after skip).
// handled. NotificationCenter only surfaces core items that still carry
// actions, so clearing them here removes the handled prompt from the
// actionable list and prevents a second click re-firing the same RPC.
clearNotificationActions(state, action: PayloadAction<{ id: string }>) {
const item = state.items.find(i => i.id === action.payload.id);
if (item) item.actions = undefined;
Expand Down
Loading
Loading