Commit Graph

22 Commits

Author SHA1 Message Date
hanishkvc 631aa7fb36 SimpleSallap:SimpleMCP/ToolMCP: bring in wrt tools manager
Setup to test initial go of the mcpish server and client logics
2025-12-07 22:46:36 +05:30
hanishkvc 37651dc7dd SimpleSallap:SimpleMCP:Cleanup, rename; TestMcpCmdline helper
Given toolcall.py maintains ToolCall, ToolManager and MCP related
types and base classes, so rename to toolcalls.py

Also add the bash script with curl used for testing the tools/list
mcp command.

Remove the sample function meta ref, as tools/list is working ok.
2025-12-07 20:09:13 +05:30
hanishkvc 69be7f2029 SimpleSallap:SimpleMCP: Use ToolManager for some of needed logics
Build the list of tool calls

Trap some of the MCP post json based requests and map to related
handlers. Inturn implement the tool call execution handler.

Add some helper dataclasses wrt expected MCP response structure

TOTHINK: For now maintain id has a string and not int, with idea
to map it directly to callid wrt tool call handshake by ai model.

TOCHECK: For now suffle the order of fields wrt jsonrpc and type
wrt MCP response related structures, assuming the order shouldnt
matter. Need to cross check.
2025-12-06 23:48:58 +05:30
hanishkvc d470d7e47d SimpleSallap:SimpleProxy:DataClass Config simpleproxy updated 2025-12-05 21:42:41 +05:30
hanishkvc 05697afc15 SimpleSallap:SimpleProxy:Trap all GET request handling
otherwise aum path was not handled immidiately wrt exceptions.

this also ensures any future changes wrt get request handling
also get handled immidiately wrt exceptions, that may be missed
by any targetted exception handling.
2025-12-05 03:04:52 +05:30
hanishkvc c4e0c03107 SimpleSallap:SimpleProxy: Enable https mode 2025-12-04 20:51:00 +05:30
hanishkvc 593e831175 SimpleSallap:Cleanup notes 2025-12-04 19:42:10 +05:30
hanishkvc 2981033fac SimpleChatTCRV:UICleanup:Ai Reasoning/Live response
Implement todo noted in last commit, and bit more.

This brings in clearing of the external ai tool call special chat
session divStream during chat show, which ensures that it gets
hidden by default wrt other chat sessions and inturn only get
enabled if user triggers a new tool call involving external ai
tool call.

This patch also ensures that if ext ai tool call takes too much
time and so logic gives you back control with a timed out response
as a possible response back to ai wrt the tool call, then the
external ai tool call's ai live response is no longer visible in
the current chat session ui. So user can go ahead with the timed
out response or some other user decided response as the response
to the tool call. And take the chat in a different direction of
their and ai's choosing.

Or else, if they want to they can switch to the External Ai
specific special chat session and continue to monitor the response
from the tool call there, to understand what the final response
would have been wrt that tool call.

Rather this should keep the ui flow clean.

ALERT: If the user triggers a new ext ai tool call, when the
old one is still alive in the background, then response from
both will be in a race for user visibility, so beware of it.
2025-12-04 19:41:40 +05:30
hanishkvc afd6365ecc SimpleChatTCRV:CMTextFormat: Common flow accounting User and Auto
If user explicitly makes a content text format selection, the
same will be used.

Else based on session settings, a format will be used.

Now when the popover menu is shown, the current message's format
type is reflected in the popover menu.
2025-12-04 19:41:40 +05:30
hanishkvc d97147568f SimpleChatTCRV:Markdown: Usage flow cleanup
Move all markdown configs into a single object field.

Add always flag, which if set, all roles' message contents will be
treated as markdown, else only ai assistant's messages will be
treated as markdown.
2025-12-04 19:41:40 +05:30
hanishkvc 6358a2083d SimpleChatTCRV:Markdown:List items without list marker cleanup
If lines immidately follows a list item, without the list marker
at their begining, but with a offset matching the list item, then
these lines will be appended to that list item.

If a empty line is there between a list item and a new line with
some content, but without a list marker

* if the content offset is less than the last list item, then
  unwind the lists before such a line.

* if the content offset is larger than the last list item, then
  the line will be added as a new list item at the same level
  as the last list item.

* if the content offset is same as the last list tiem, then
  unwind the list by one level and then insert this line as a
  new list item at this new unwound level.
2025-12-04 19:41:40 +05:30
hanishkvc 82d436b537 SimpleChatTCRV:Markdown: flexible unwind list 2025-12-04 19:41:40 +05:30
hanishkvc 11eab92d08 SimpleChatTCRV:TC:FetchUrlRaw: Rename to avoid confusion
Given that now fetch_web_url_raw can also fetch local files, if local
file access scheme is enabled in simpleproxy.py, so rename this
tool call by dropping web from its name, given that some ai models
were getting confused because of the same.
2025-12-04 19:41:40 +05:30
hanishkvc 67f971527d SimpleChatTCRV:Markdown:Process headline and horizline
Also update readme a bit, better satisfying md file format.
2025-12-04 19:41:40 +05:30
hanishkvc b3645a1164 SimpleChatTCRV:ToolCall:ExtAi: Task decomposition/planning
Had forgotten to include this in the examples before.
2025-12-04 19:41:40 +05:30
hanishkvc 2242ad4402 SimpleChatTCRV:Markdown:List: Allow split line items
If the split lines dont have any empty lines inbetween and also
remain within the block area of the list item which they belong
to, then the split line will be appended to the corresponding
list item, ELSE a new list item will be created.

To help with same a generic keyed empty lines tracker logic has
been added.

TODO: Account similar semantic wrt paragraph related split lines
2025-12-04 19:41:40 +05:30
hanishkvc 654e234a4e SimpleChatTCRV:Markdown:User configurable per session
User can enable or disable the simple minded bruteforce markdown
parsing from the per session settings.

Add grey shading and align text to left wrt table headings of
markdown to html converted tables.
2025-12-04 19:41:40 +05:30
hanishkvc 03220d4a2b SimpleChatTCRV:Markdown: Allow fixed spaces b4 fenced pre marker 2025-12-04 19:41:40 +05:30
hanishkvc 073c570cad SimpleChatTCRV:AiCallingAi ToolCall: flow cleanup and flexibility
By default ensure external_ai tool call related special chat session
starts with tool calls disabled and client side sliding window of 1.

Add a helper in SimpleChat class to set these along with clearing of
any chat history.

Inturn now give the user flexibility to change this from within
the program, if they need to for what ever reason, till the program
restarts.
2025-12-04 19:41:40 +05:30
hanishkvc ec41001ba3 SimpleChatTCRV: Add simple readme in place of detailed one
Gives quick overview of the features, given that the original readme
(now docs/details.md++) got created over a period of disjoined time
as features got added.
2025-12-04 19:41:40 +05:30
hanishkvc ba6c7872cc SimpleChatTCRV: split changelog from details into separate file 2025-12-04 19:41:40 +05:30
hanishkvc 214ca2e00b SimpleChatTCRV: Documentation cleanup
Move existing readme.md into docs/details.md

Similarly move the screenshot image into docs/
2025-12-04 19:41:40 +05:30