Compare commits
3 Commits
84396dc13a
...
f392aa3ef5
| Author | SHA1 | Date | |
|---|---|---|---|
| f392aa3ef5 | |||
| 5e02ea34df | |||
| a0a9d00310 |
+1
-1
@@ -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**
|
12. [x] **Track: Manual Skeleton Context Injection**
|
||||||
*Link: [./tracks/manual_skeleton_injection_20260306/](./tracks/manual_skeleton_injection_20260306/)*
|
*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/)*
|
*Link: [./tracks/on_demand_def_lookup_20260306/](./tracks/on_demand_def_lookup_20260306/)*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
## Phase 1: Symbol Parsing
|
## Phase 1: Symbol Parsing
|
||||||
Focus: Parse @symbol syntax from user input
|
Focus: Parse @symbol syntax from user input
|
||||||
|
|
||||||
- [ ] Task 1.1: Initialize MMA Environment
|
- [x] Task 1.1: Initialize MMA Environment
|
||||||
- [ ] Task 1.2: Implement @symbol regex parser
|
- [x] Task 1.2: Implement @symbol regex parser (a0a9d00)
|
||||||
- WHERE: `src/gui_2.py` in `_send_callback()`
|
- WHERE: `src/gui_2.py` in `_send_callback()`
|
||||||
- WHAT: Extract @SymbolName patterns
|
- WHAT: Extract @SymbolName patterns
|
||||||
- HOW:
|
- HOW:
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
[ai]
|
[ai]
|
||||||
provider = "gemini_cli"
|
provider = "deepseek"
|
||||||
model = "gemini-2.5-flash-lite"
|
model = "deepseek-chat"
|
||||||
temperature = 0.0
|
temperature = 0.0
|
||||||
max_tokens = 8192
|
max_tokens = 8192
|
||||||
history_trunc_limit = 8000
|
history_trunc_limit = 8000
|
||||||
|
|||||||
+152
-52
@@ -44,18 +44,18 @@ Collapsed=0
|
|||||||
DockId=0x00000006,0
|
DockId=0x00000006,0
|
||||||
|
|
||||||
[Window][Message]
|
[Window][Message]
|
||||||
Pos=2830,1055
|
Pos=1020,1643
|
||||||
Size=954,371
|
Size=954,371
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Response]
|
[Window][Response]
|
||||||
Pos=1744,835
|
Pos=92,1433
|
||||||
Size=718,484
|
Size=842,625
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Tool Calls]
|
[Window][Tool Calls]
|
||||||
Pos=933,1278
|
Pos=99,730
|
||||||
Size=700,440
|
Size=762,628
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Comms History]
|
[Window][Comms History]
|
||||||
@@ -74,7 +74,7 @@ DockId=0xAFC85805,2
|
|||||||
|
|
||||||
[Window][Theme]
|
[Window][Theme]
|
||||||
Pos=0,17
|
Pos=0,17
|
||||||
Size=32,960
|
Size=824,980
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000005,1
|
DockId=0x00000005,1
|
||||||
|
|
||||||
@@ -84,14 +84,14 @@ Size=900,700
|
|||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Diagnostics]
|
[Window][Diagnostics]
|
||||||
Pos=829,990
|
Pos=3167,17
|
||||||
Size=851,210
|
Size=673,2120
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000002,0
|
DockId=0x00000004,2
|
||||||
|
|
||||||
[Window][Context Hub]
|
[Window][Context Hub]
|
||||||
Pos=0,17
|
Pos=0,17
|
||||||
Size=32,960
|
Size=824,980
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000005,0
|
DockId=0x00000005,0
|
||||||
|
|
||||||
@@ -102,26 +102,26 @@ Collapsed=0
|
|||||||
DockId=0x0000000D,0
|
DockId=0x0000000D,0
|
||||||
|
|
||||||
[Window][Discussion Hub]
|
[Window][Discussion Hub]
|
||||||
Pos=430,17
|
Pos=1892,17
|
||||||
Size=397,637
|
Size=1273,2003
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000013,0
|
DockId=0x00000013,0
|
||||||
|
|
||||||
[Window][Operations Hub]
|
[Window][Operations Hub]
|
||||||
Pos=34,17
|
Pos=826,17
|
||||||
Size=394,637
|
Size=1064,2003
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000012,0
|
DockId=0x00000012,0
|
||||||
|
|
||||||
[Window][Files & Media]
|
[Window][Files & Media]
|
||||||
Pos=0,979
|
Pos=0,999
|
||||||
Size=32,221
|
Size=824,1138
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000006,1
|
DockId=0x00000006,1
|
||||||
|
|
||||||
[Window][AI Settings]
|
[Window][AI Settings]
|
||||||
Pos=0,979
|
Pos=0,999
|
||||||
Size=32,221
|
Size=824,1138
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000006,0
|
DockId=0x00000006,0
|
||||||
|
|
||||||
@@ -131,16 +131,16 @@ Size=416,325
|
|||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][MMA Dashboard]
|
[Window][MMA Dashboard]
|
||||||
Pos=829,17
|
Pos=3167,17
|
||||||
Size=851,971
|
Size=673,2120
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000001,0
|
DockId=0x00000004,0
|
||||||
|
|
||||||
[Window][Log Management]
|
[Window][Log Management]
|
||||||
Pos=829,17
|
Pos=3167,17
|
||||||
Size=851,971
|
Size=673,2120
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000001,1
|
DockId=0x00000004,1
|
||||||
|
|
||||||
[Window][Track Proposal]
|
[Window][Track Proposal]
|
||||||
Pos=709,326
|
Pos=709,326
|
||||||
@@ -148,32 +148,32 @@ Size=262,209
|
|||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Tier 1: Strategy]
|
[Window][Tier 1: Strategy]
|
||||||
Pos=34,656
|
Pos=826,2022
|
||||||
Size=165,544
|
Size=1082,115
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000014,0
|
DockId=0x00000014,0
|
||||||
|
|
||||||
[Window][Tier 2: Tech Lead]
|
[Window][Tier 2: Tech Lead]
|
||||||
Pos=201,656
|
Pos=1910,2022
|
||||||
Size=228,544
|
Size=330,115
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000016,0
|
DockId=0x00000016,0
|
||||||
|
|
||||||
[Window][Tier 4: QA]
|
[Window][Tier 4: QA]
|
||||||
Pos=696,656
|
Pos=2666,2022
|
||||||
Size=131,544
|
Size=499,115
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000019,0
|
DockId=0x00000019,0
|
||||||
|
|
||||||
[Window][Tier 3: Workers]
|
[Window][Tier 3: Workers]
|
||||||
Pos=431,656
|
Pos=2242,2022
|
||||||
Size=263,544
|
Size=422,115
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000018,0
|
DockId=0x00000018,0
|
||||||
|
|
||||||
[Window][Approve PowerShell Command]
|
[Window][Approve PowerShell Command]
|
||||||
Pos=649,435
|
Pos=649,435
|
||||||
Size=381,329
|
Size=616,429
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Last Script Output]
|
[Window][Last Script Output]
|
||||||
@@ -201,6 +201,101 @@ Pos=60,60
|
|||||||
Size=900,700
|
Size=900,700
|
||||||
Collapsed=0
|
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]
|
[Table][0xFB6E3870,4]
|
||||||
RefScale=13
|
RefScale=13
|
||||||
Column 0 Width=80
|
Column 0 Width=80
|
||||||
@@ -254,31 +349,36 @@ Column 1 Width=60
|
|||||||
Column 2 Weight=1.0000
|
Column 2 Weight=1.0000
|
||||||
Column 3 Width=100
|
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]
|
[Docking][Data]
|
||||||
DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y
|
DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y
|
||||||
DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A
|
DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A
|
||||||
DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02
|
DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02
|
||||||
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,17 Size=1680,1183 Split=X
|
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,17 Size=3840,2120 Split=X
|
||||||
DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2987,1183 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=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2
|
||||||
DockNode ID=0x00000007 Parent=0x0000000B SizeRef=517,858 Split=Y Selected=0x8CA2375C
|
DockNode ID=0x00000007 Parent=0x0000000B SizeRef=824,858 Split=Y Selected=0x8CA2375C
|
||||||
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,960 Selected=0xF4139CA2
|
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,980 Selected=0xF4139CA2
|
||||||
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,1158 CentralNode=1 Selected=0x7BD57D6A
|
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,1138 CentralNode=1 Selected=0x7BD57D6A
|
||||||
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=2468,858 Split=Y Selected=0x418C7449
|
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=2339,858 Split=Y Selected=0x418C7449
|
||||||
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,1142 Split=X Selected=0x418C7449
|
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,2003 Split=X Selected=0x418C7449
|
||||||
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=1229,402 Selected=0x418C7449
|
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=1064,402 Selected=0x418C7449
|
||||||
DockNode ID=0x00000013 Parent=0x00000010 SizeRef=1237,402 Selected=0x6F2B5B04
|
DockNode ID=0x00000013 Parent=0x00000010 SizeRef=1273,402 Selected=0x6F2B5B04
|
||||||
DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,976 Split=X Selected=0x5CDB7A4B
|
DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,115 Split=X Selected=0x5CDB7A4B
|
||||||
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=513,837 Selected=0xBB346584
|
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=1082,837 Selected=0xBB346584
|
||||||
DockNode ID=0x00000015 Parent=0x00000011 SizeRef=1953,837 Split=X Selected=0x5CDB7A4B
|
DockNode ID=0x00000015 Parent=0x00000011 SizeRef=1255,837 Split=X Selected=0x5CDB7A4B
|
||||||
DockNode ID=0x00000016 Parent=0x00000015 SizeRef=714,837 Selected=0x390E7942
|
DockNode ID=0x00000016 Parent=0x00000015 SizeRef=330,837 Selected=0x390E7942
|
||||||
DockNode ID=0x00000017 Parent=0x00000015 SizeRef=1237,837 Split=X Selected=0x655BC6E9
|
DockNode ID=0x00000017 Parent=0x00000015 SizeRef=923,837 Split=X Selected=0x655BC6E9
|
||||||
DockNode ID=0x00000018 Parent=0x00000017 SizeRef=824,874 Selected=0x655BC6E9
|
DockNode ID=0x00000018 Parent=0x00000017 SizeRef=422,874 Selected=0x655BC6E9
|
||||||
DockNode ID=0x00000019 Parent=0x00000017 SizeRef=411,874 Selected=0x5CDB7A4B
|
DockNode ID=0x00000019 Parent=0x00000017 SizeRef=499,874 Selected=0x5CDB7A4B
|
||||||
DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6
|
DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6
|
||||||
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=851,1183 Split=Y Selected=0x3AEC3498
|
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=673,1183 Selected=0xB4CBF21A
|
||||||
DockNode ID=0x00000001 Parent=0x00000004 SizeRef=851,1741 Selected=0x3AEC3498
|
|
||||||
DockNode ID=0x00000002 Parent=0x00000004 SizeRef=851,377 Selected=0xB4CBF21A
|
|
||||||
|
|
||||||
;;;<<<Layout_655921752_Default>>>;;;
|
;;;<<<Layout_655921752_Default>>>;;;
|
||||||
;;;<<<HelloImGui_Misc>>>;;;
|
;;;<<<HelloImGui_Misc>>>;;;
|
||||||
|
|||||||
@@ -8,5 +8,5 @@ active = "main"
|
|||||||
|
|
||||||
[discussions.main]
|
[discussions.main]
|
||||||
git_commit = ""
|
git_commit = ""
|
||||||
last_updated = "2026-03-07T01:19:03"
|
last_updated = "2026-03-07T10:58:13"
|
||||||
history = []
|
history = []
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import threading
|
|||||||
import time
|
import time
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
from typing import Any, List, Dict, Optional, Callable
|
from typing import Any, List, Dict, Optional, Callable
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import json
|
import json
|
||||||
@@ -38,6 +39,13 @@ def hide_tk_root() -> Tk:
|
|||||||
root.wm_attributes("-topmost", True)
|
root.wm_attributes("-topmost", True)
|
||||||
return root
|
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):
|
class GenerateRequest(BaseModel):
|
||||||
prompt: str
|
prompt: str
|
||||||
auto_add_history: bool = True
|
auto_add_history: bool = True
|
||||||
|
|||||||
@@ -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"]
|
||||||
Reference in New Issue
Block a user