Skip to content

Commit 9e1a9f6

Browse files
authored
Merge pull request #4 from JNK234/config-validation-only
Add config validation and provider status features
2 parents 7a6419f + b6bd09b commit 9e1a9f6

15 files changed

Lines changed: 1412 additions & 1217 deletions

‎.bundledFiles‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
/home/jason/.cache/coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-yaml_3/0.15.0/circe-yaml_3-0.15.0.jar->circe-yaml_3-0.15.0.jar
2-
/home/jason/.cache/coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-yaml-common_3/0.15.0/circe-yaml-common_3-0.15.0.jar->circe-yaml-common_3-0.15.0.jar
3-
/home/jason/.cache/coursier/v1/https/repo1.maven.org/maven2/org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar->snakeyaml-2.0.jar
4-
/home/jason/.cache/coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-core_3/0.14.4/circe-core_3-0.14.4.jar->circe-core_3-0.14.4.jar
5-
/home/jason/.cache/coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-numbers_3/0.14.4/circe-numbers_3-0.14.4.jar->circe-numbers_3-0.14.4.jar
6-
/home/jason/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-core_3/2.9.0/cats-core_3-2.9.0.jar->cats-core_3-2.9.0.jar
7-
/home/jason/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-kernel_3/2.9.0/cats-kernel_3-2.9.0.jar->cats-kernel_3-2.9.0.jar
8-
/home/jason/Desktop/Development/NetLogo/branches/NetLogo/main2/extensions/llm/target/scala-3.7.0/llm-extension_3-0.1.0.jar->llm.jar
1+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-yaml_3/0.15.0/circe-yaml_3-0.15.0.jar->circe-yaml_3-0.15.0.jar
2+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-yaml-common_3/0.15.0/circe-yaml-common_3-0.15.0.jar->circe-yaml-common_3-0.15.0.jar
3+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/yaml/snakeyaml/2.0/snakeyaml-2.0.jar->snakeyaml-2.0.jar
4+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/nibor/autolink/autolink/0.6.0/autolink-0.6.0.jar->autolink-0.6.0.jar
5+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/com/vladsch/flexmark/flexmark-formatter/0.20.2/flexmark-formatter-0.20.2.jar->flexmark-formatter-0.20.2.jar
6+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/piwik/java/tracking/matomo-java-tracker-core/3.4.0/matomo-java-tracker-core-3.4.0.jar->matomo-java-tracker-core-3.4.0.jar
7+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-core_3/0.14.4/circe-core_3-0.14.4.jar->circe-core_3-0.14.4.jar
8+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/jline/jline-native/3.29.0/jline-native-3.29.0.jar->jline-native-3.29.0.jar
9+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/io/circe/circe-numbers_3/0.14.4/circe-numbers_3-0.14.4.jar->circe-numbers_3-0.14.4.jar
10+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-core_3/2.9.0/cats-core_3-2.9.0.jar->cats-core_3-2.9.0.jar
11+
/Users/jnk789/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-kernel_3/2.9.0/cats-kernel_3-2.9.0.jar->cats-kernel_3-2.9.0.jar
12+
/Users/jnk789/Developer/CCL/NetLogo/extensions/llm/target/scala-3.7.0/llm-extension_3-0.1.0.jar->llm.jar

‎BUILD.md‎

Lines changed: 48 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,76 @@
22

33
## Prerequisites
44

5-
- **Java 17** (required for building only)
6-
- **SBT** (Scala Build Tool)
5+
- **Java 17** (required for building)
6+
- **SBT 1.10.6+** (Scala Build Tool)
77

8-
## Build Steps
8+
## Build Commands
99

10-
### 1. Set Java 17
10+
### For Development (Fat JAR)
1111

1212
```bash
13+
# Set Java 17
1314
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
15+
16+
# Build single JAR with all dependencies
17+
sbt clean assembly
1418
```
1519

16-
### 2. Build the Extension
20+
**Output:** `target/scala-3.7.0/llm.jar` (172MB)
21+
22+
### For Distribution (ZIP Package)
1723

1824
```bash
19-
sbt clean assembly
25+
# Set Java 17
26+
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
27+
28+
# Build distribution package
29+
sbt clean packageZip
2030
```
2131

22-
This creates `target/scala-3.7.0/llm.jar` (approximately 180MB fat JAR with all dependencies).
32+
**Output:** `llm-0.1.0.zip` (11MB)
33+
34+
## Build Outputs Explained
2335

24-
## That's It!
36+
### Fat JAR (assembly)
37+
- **Location**: `target/scala-3.7.0/llm.jar`
38+
- **Size**: ~172MB
39+
- **Type**: Single JAR with all dependencies bundled inside
40+
- **Use**: Local development, simple installation
41+
- **Install**: Copy one file to NetLogo extensions
2542

26-
The JAR file is now ready to install. See `INSTALL.md` for installation instructions.
43+
### ZIP Package (packageZip)
44+
- **Location**: `llm-0.1.0.zip` (project root)
45+
- **Size**: ~11MB
46+
- **Type**: Multiple JARs + documentation
47+
- **Use**: Official releases, NetLogo Extension Library
48+
- **Install**: Extract entire folder to NetLogo extensions
2749

28-
## Build Output
50+
## Which Build Should I Use?
2951

30-
- **Location**: `target/scala-3.7.0/llm.jar`
31-
- **Type**: Fat JAR (all dependencies bundled inside)
32-
- **Size**: ~180MB
52+
| Purpose | Command | Output |
53+
|---------|---------|--------|
54+
| **Testing locally** | `sbt assembly` | Fat JAR (172MB) |
55+
| **Quick install** | `sbt assembly` | Fat JAR (172MB) |
56+
| **Official release** | `sbt packageZip` | ZIP (11MB) |
57+
| **Publish to library** | `sbt packageZip` | ZIP (11MB) |
3358

3459
## Common Issues
3560

61+
**Problem**: Build fails with SBT parser errors
62+
**Solution**: Upgrade SBT to 1.10.6+ in `project/build.properties`:
63+
```
64+
sbt.version=1.10.6
65+
```
66+
3667
**Problem**: Build fails with Java version errors
3768
**Solution**: Make sure you're using Java 17:
3869
```bash
3970
java -version # Should show 17.x.x
4071
```
4172

4273
**Problem**: Old JAR still being used
43-
**Solution**: Always run `sbt clean assembly` (not just `assembly`)
74+
**Solution**: Always use `clean` before building:
75+
```bash
76+
sbt clean assembly # Not just 'assembly'
77+
```

‎INSTALL.md‎

Lines changed: 58 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,59 @@
11
# Installing the LLM Extension
22

3-
## Installation Steps
3+
## Quick Install (Recommended)
44

55
### 1. Build the Extension
66

7-
First, build the extension (see `BUILD.md`):
8-
97
```bash
108
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
119
sbt clean assembly
1210
```
1311

14-
### 2. Create Extension Folder
15-
16-
Create the `llm` folder in your NetLogo extensions directory:
12+
### 2. Install to NetLogo
1713

14+
**macOS:**
1815
```bash
1916
mkdir -p "/Applications/NetLogo 7.0.0/extensions/llm"
17+
cp target/scala-3.7.0/llm.jar "/Applications/NetLogo 7.0.0/extensions/llm/"
2018
```
2119

22-
**Note**: Adjust the path based on your NetLogo installation location.
20+
**Windows:**
21+
```bash
22+
mkdir "C:\Program Files\NetLogo 7.0.0\extensions\llm"
23+
copy target\scala-3.7.0\llm.jar "C:\Program Files\NetLogo 7.0.0\extensions\llm\"
24+
```
2325
24-
### 3. Copy the JAR File
26+
**Linux:**
27+
```bash
28+
mkdir -p "/usr/local/NetLogo-7.0.0/extensions/llm"
29+
cp target/scala-3.7.0/llm.jar "/usr/local/NetLogo-7.0.0/extensions/llm/"
30+
```
31+
32+
## Install from ZIP Package (Alternative)
33+
34+
If you have a pre-built `llm-0.1.0.zip`:
2535
26-
Copy `llm.jar` to the extension folder:
36+
### 1. Extract the ZIP
2737
2838
```bash
29-
cp target/scala-3.7.0/llm.jar "/Applications/NetLogo 7.0.0/extensions/llm/"
39+
unzip llm-0.1.0.zip
40+
```
41+
42+
### 2. Copy to NetLogo
43+
44+
**macOS:**
45+
```bash
46+
cp -r llm-0.1.0 "/Applications/NetLogo 7.0.0/extensions/llm"
47+
```
48+
49+
**Windows:**
50+
```bash
51+
xcopy llm-0.1.0 "C:\Program Files\NetLogo 7.0.0\extensions\llm" /E /I
52+
```
53+
54+
**Linux:**
55+
```bash
56+
cp -r llm-0.1.0 "/usr/local/NetLogo-7.0.0/extensions/llm"
3057
```
3158
3259
## Verify Installation
@@ -82,7 +109,9 @@ end
82109
83110
Click Setup, then run `test-llm` from the Command Center.
84111
85-
## Installation Locations
112+
## NetLogo Extensions Directory
113+
114+
The extension must be in NetLogo's `extensions/llm/` folder:
86115
87116
**macOS:**
88117
- `/Applications/NetLogo 7.0.0/extensions/llm/`
@@ -93,6 +122,24 @@ Click Setup, then run `test-llm` from the Command Center.
93122
**Linux:**
94123
- `/usr/local/NetLogo-7.0.0/extensions/llm/`
95124
125+
**Expected structure:**
126+
```
127+
NetLogo 7.0.0/
128+
└── extensions/
129+
└── llm/
130+
└── llm.jar (for Fat JAR install)
131+
132+
OR
133+
134+
NetLogo 7.0.0/
135+
└── extensions/
136+
└── llm/
137+
├── llm.jar
138+
├── cats-core_3-2.9.0.jar
139+
├── circe-yaml_3-0.15.0.jar
140+
└── [other JARs] (for ZIP install)
141+
```
142+
96143
## Troubleshooting
97144
98145
**Problem**: "Extension llm not found"

0 commit comments

Comments
 (0)