Compare commits
3 Commits
| 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**
|
||||
*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
@@ -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
@@ -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>>>;;;
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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