3 Commits

7 changed files with 193 additions and 58 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ This file tracks all major tracks for the project. Each track has its own detail
12. [x] **Track: Manual Skeleton Context Injection**
*Link: [./tracks/manual_skeleton_injection_20260306/](./tracks/manual_skeleton_injection_20260306/)*
13. [ ] **Track: On-Demand Definition Lookup**
13. [~] **Track: On-Demand Definition Lookup**
*Link: [./tracks/on_demand_def_lookup_20260306/](./tracks/on_demand_def_lookup_20260306/)*
---
@@ -5,8 +5,8 @@
## Phase 1: Symbol Parsing
Focus: Parse @symbol syntax from user input
- [ ] Task 1.1: Initialize MMA Environment
- [ ] Task 1.2: Implement @symbol regex parser
- [x] Task 1.1: Initialize MMA Environment
- [x] Task 1.2: Implement @symbol regex parser (a0a9d00)
- WHERE: `src/gui_2.py` in `_send_callback()`
- WHAT: Extract @SymbolName patterns
- HOW:
+2 -2
View File
@@ -1,6 +1,6 @@
[ai]
provider = "gemini_cli"
model = "gemini-2.5-flash-lite"
provider = "deepseek"
model = "deepseek-chat"
temperature = 0.0
max_tokens = 8192
history_trunc_limit = 8000
+152 -52
View File
@@ -44,18 +44,18 @@ Collapsed=0
DockId=0x00000006,0
[Window][Message]
Pos=2830,1055
Pos=1020,1643
Size=954,371
Collapsed=0
[Window][Response]
Pos=1744,835
Size=718,484
Pos=92,1433
Size=842,625
Collapsed=0
[Window][Tool Calls]
Pos=933,1278
Size=700,440
Pos=99,730
Size=762,628
Collapsed=0
[Window][Comms History]
@@ -74,7 +74,7 @@ DockId=0xAFC85805,2
[Window][Theme]
Pos=0,17
Size=32,960
Size=824,980
Collapsed=0
DockId=0x00000005,1
@@ -84,14 +84,14 @@ Size=900,700
Collapsed=0
[Window][Diagnostics]
Pos=829,990
Size=851,210
Pos=3167,17
Size=673,2120
Collapsed=0
DockId=0x00000002,0
DockId=0x00000004,2
[Window][Context Hub]
Pos=0,17
Size=32,960
Size=824,980
Collapsed=0
DockId=0x00000005,0
@@ -102,26 +102,26 @@ Collapsed=0
DockId=0x0000000D,0
[Window][Discussion Hub]
Pos=430,17
Size=397,637
Pos=1892,17
Size=1273,2003
Collapsed=0
DockId=0x00000013,0
[Window][Operations Hub]
Pos=34,17
Size=394,637
Pos=826,17
Size=1064,2003
Collapsed=0
DockId=0x00000012,0
[Window][Files & Media]
Pos=0,979
Size=32,221
Pos=0,999
Size=824,1138
Collapsed=0
DockId=0x00000006,1
[Window][AI Settings]
Pos=0,979
Size=32,221
Pos=0,999
Size=824,1138
Collapsed=0
DockId=0x00000006,0
@@ -131,16 +131,16 @@ Size=416,325
Collapsed=0
[Window][MMA Dashboard]
Pos=829,17
Size=851,971
Pos=3167,17
Size=673,2120
Collapsed=0
DockId=0x00000001,0
DockId=0x00000004,0
[Window][Log Management]
Pos=829,17
Size=851,971
Pos=3167,17
Size=673,2120
Collapsed=0
DockId=0x00000001,1
DockId=0x00000004,1
[Window][Track Proposal]
Pos=709,326
@@ -148,32 +148,32 @@ Size=262,209
Collapsed=0
[Window][Tier 1: Strategy]
Pos=34,656
Size=165,544
Pos=826,2022
Size=1082,115
Collapsed=0
DockId=0x00000014,0
[Window][Tier 2: Tech Lead]
Pos=201,656
Size=228,544
Pos=1910,2022
Size=330,115
Collapsed=0
DockId=0x00000016,0
[Window][Tier 4: QA]
Pos=696,656
Size=131,544
Pos=2666,2022
Size=499,115
Collapsed=0
DockId=0x00000019,0
[Window][Tier 3: Workers]
Pos=431,656
Size=263,544
Pos=2242,2022
Size=422,115
Collapsed=0
DockId=0x00000018,0
[Window][Approve PowerShell Command]
Pos=649,435
Size=381,329
Size=616,429
Collapsed=0
[Window][Last Script Output]
@@ -201,6 +201,101 @@ Pos=60,60
Size=900,700
Collapsed=0
[Window][Inject File]
Pos=1612,748
Size=616,641
Collapsed=0
[Window][StatusBar]
Pos=0,2113
Size=3840,32
Collapsed=0
[Window][Text Viewer - message]
Pos=566,1226
Size=900,700
Collapsed=0
[Window][Text Viewer - Entry #1]
Pos=82,861
Size=900,700
Collapsed=0
[Window][Text Viewer - text]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - system]
Pos=377,705
Size=900,340
Collapsed=0
[Window][Text Viewer - Entry #15]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - py_get_definition]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - tool_calls]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Script #1]
Pos=1227,252
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Script #2]
Pos=1667,661
Size=900,585
Collapsed=0
[Window][Text Viewer - Tool Script #5]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Script #6]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Script #8]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Script #9]
Pos=1162,534
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Script #10]
Pos=1230,368
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Script #3]
Pos=60,60
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Call #1 Details]
Pos=2318,1220
Size=900,700
Collapsed=0
[Window][Text Viewer - Tool Call #10 Details]
Pos=1369,568
Size=900,700
Collapsed=1
[Table][0xFB6E3870,4]
RefScale=13
Column 0 Width=80
@@ -254,31 +349,36 @@ Column 1 Width=60
Column 2 Weight=1.0000
Column 3 Width=100
[Table][0x2C515046,4]
RefScale=13
Column 0 Width=57
Column 1 Weight=1.0000
Column 2 Width=150
Column 3 Width=40
[Docking][Data]
DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y
DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A
DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,17 Size=1680,1183 Split=X
DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2987,1183 Split=X
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,17 Size=3840,2120 Split=X
DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=3165,1183 Split=X
DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2
DockNode ID=0x00000007 Parent=0x0000000B SizeRef=517,858 Split=Y Selected=0x8CA2375C
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,960 Selected=0xF4139CA2
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,1158 CentralNode=1 Selected=0x7BD57D6A
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=2468,858 Split=Y Selected=0x418C7449
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,1142 Split=X Selected=0x418C7449
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=1229,402 Selected=0x418C7449
DockNode ID=0x00000013 Parent=0x00000010 SizeRef=1237,402 Selected=0x6F2B5B04
DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,976 Split=X Selected=0x5CDB7A4B
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=513,837 Selected=0xBB346584
DockNode ID=0x00000015 Parent=0x00000011 SizeRef=1953,837 Split=X Selected=0x5CDB7A4B
DockNode ID=0x00000016 Parent=0x00000015 SizeRef=714,837 Selected=0x390E7942
DockNode ID=0x00000017 Parent=0x00000015 SizeRef=1237,837 Split=X Selected=0x655BC6E9
DockNode ID=0x00000018 Parent=0x00000017 SizeRef=824,874 Selected=0x655BC6E9
DockNode ID=0x00000019 Parent=0x00000017 SizeRef=411,874 Selected=0x5CDB7A4B
DockNode ID=0x00000007 Parent=0x0000000B SizeRef=824,858 Split=Y Selected=0x8CA2375C
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,980 Selected=0xF4139CA2
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,1138 CentralNode=1 Selected=0x7BD57D6A
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=2339,858 Split=Y Selected=0x418C7449
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,2003 Split=X Selected=0x418C7449
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=1064,402 Selected=0x418C7449
DockNode ID=0x00000013 Parent=0x00000010 SizeRef=1273,402 Selected=0x6F2B5B04
DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,115 Split=X Selected=0x5CDB7A4B
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=1082,837 Selected=0xBB346584
DockNode ID=0x00000015 Parent=0x00000011 SizeRef=1255,837 Split=X Selected=0x5CDB7A4B
DockNode ID=0x00000016 Parent=0x00000015 SizeRef=330,837 Selected=0x390E7942
DockNode ID=0x00000017 Parent=0x00000015 SizeRef=923,837 Split=X Selected=0x655BC6E9
DockNode ID=0x00000018 Parent=0x00000017 SizeRef=422,874 Selected=0x655BC6E9
DockNode ID=0x00000019 Parent=0x00000017 SizeRef=499,874 Selected=0x5CDB7A4B
DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=851,1183 Split=Y Selected=0x3AEC3498
DockNode ID=0x00000001 Parent=0x00000004 SizeRef=851,1741 Selected=0x3AEC3498
DockNode ID=0x00000002 Parent=0x00000004 SizeRef=851,377 Selected=0xB4CBF21A
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=673,1183 Selected=0xB4CBF21A
;;;<<<Layout_655921752_Default>>>;;;
;;;<<<HelloImGui_Misc>>>;;;
+1 -1
View File
@@ -8,5 +8,5 @@ active = "main"
[discussions.main]
git_commit = ""
last_updated = "2026-03-07T01:19:03"
last_updated = "2026-03-07T10:58:13"
history = []
+8
View File
@@ -2,6 +2,7 @@ import threading
import time
import sys
import os
import re
from typing import Any, List, Dict, Optional, Callable
from pathlib import Path
import json
@@ -38,6 +39,13 @@ def hide_tk_root() -> Tk:
root.wm_attributes("-topmost", True)
return root
def parse_symbols(text: str) -> list[str]:
"""
Finds all occurrences of '@SymbolName' in text and returns SymbolName.
SymbolName can be a function, class, or method (e.g. @MyClass, @my_func, @MyClass.my_method).
"""
return re.findall(r"@([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)", text)
class GenerateRequest(BaseModel):
prompt: str
auto_add_history: bool = True
+27
View File
@@ -0,0 +1,27 @@
import pytest
from src.app_controller import parse_symbols
def test_parse_symbols_basic():
text = "Check @MyClass and @my_func."
symbols = parse_symbols(text)
assert symbols == ["MyClass", "my_func"]
def test_parse_symbols_methods():
text = "Calling @MyClass.my_method and @AnotherClass.method_name."
symbols = parse_symbols(text)
assert symbols == ["MyClass.my_method", "AnotherClass.method_name"]
def test_parse_symbols_no_symbols():
text = "This string has no symbols."
symbols = parse_symbols(text)
assert symbols == []
def test_parse_symbols_mixed():
text = "Mixed text: @Class1, @func_2, and some text @MyClass.method."
symbols = parse_symbols(text)
assert symbols == ["Class1", "func_2", "MyClass.method"]
def test_parse_symbols_edge_cases():
text = "@LeadingSymbol and @SymbolAtEnd"
symbols = parse_symbols(text)
assert symbols == ["LeadingSymbol", "SymbolAtEnd"]