path-terminal-init 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "path-terminal-init",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "One-line setup for the Path Terminal SDK integration assistant — connects the user's AI agent to the Path MCP server and installs the per-OS integration recipe (iOS, Android, Windows). The single source of truth for the bootstrap CLI and the recipes.",
5
5
  "bin": {
6
6
  "path-terminal-init": "dist/cli.js"
@@ -248,6 +248,32 @@ Call `validate_integration` with platform='android' on your code before finalisi
248
248
 
249
249
  ---
250
250
 
251
+ ### Step 3.5 — Compile the changes (check the environment first)
252
+
253
+ Confirm your code compiles against the SDK's **real** API — this catches wrong method
254
+ names / signatures the examples can't guarantee. But **probe the build toolchain first**,
255
+ and treat a missing one as an environment limitation to advise on, **never as a failure**:
256
+
257
+ 1. Probe (non-fatal — just checking):
258
+ - `command -v java && java -version` — a JDK 17+ on PATH?
259
+ - `echo "$ANDROID_HOME"`, `ls ~/Library/Android/sdk 2>/dev/null`, or an Android Studio
260
+ install — is the Android SDK available?
261
+
262
+ 2. **Toolchain present** → run `./gradlew assembleDebug` (or `compileDebugKotlin` for speed).
263
+ Fix any real API mismatches, then continue to Step 4.
264
+
265
+ 3. **Toolchain absent** → the integration code is complete; you simply can't compile *here*.
266
+ Do **not** report this as an error or a failed install. Instead:
267
+ - Check `command -v brew`. If Homebrew is available, **offer** (don't assume) to install the
268
+ toolchain — `brew install openjdk@21` plus the Android command-line tools — explaining
269
+ what it does and that it's optional.
270
+ - If Homebrew is absent, or the developer would rather not, tell them plainly:
271
+ *"The integration code is done — I can't compile in this environment. Open the project in
272
+ Android Studio and build; paste back any errors and I'll fix them."* Then summarise every
273
+ file you changed so they can review and build with confidence.
274
+
275
+ Frame a missing build toolchain as **"here's how to verify"**, never as a failure of the work.
276
+
251
277
  ### Step 4 — Verify it works end to end
252
278
 
253
279
  1. Confirm the Application/MainActivity injects `PathTerminalAdapter` (not the old adapter).
@@ -311,6 +311,22 @@ If `PathPaymentTerminalAdapter.swift` does not exist, create it:
311
311
 
312
312
  ---
313
313
 
314
+ ### Step 3.5 — Build to catch API mismatches (check the environment first)
315
+
316
+ Confirm your Swift compiles against the SDK's **real** API. **Probe the toolchain first**, and
317
+ treat a missing one as an environment limitation to advise on, **never as a failure:**
318
+
319
+ 1. `xcodebuild -version` — is Xcode (or its command-line tools) available?
320
+ 2. **Present** → you may run a build (e.g. `xcodebuild -scheme <App> -destination 'generic/platform=iOS' build`)
321
+ to surface Swift errors, then fix real API mismatches. (Full runtime verification is the
322
+ developer's step below — it needs Xcode + a device/simulator.)
323
+ 3. **Absent** → the integration code is complete; you just can't build *here*. Do **not** report a
324
+ failure. Tell the developer plainly: *"The code is done — open the project in Xcode and build;
325
+ paste back any errors and I'll fix them,"* and summarise every file you changed. (Xcode installs
326
+ from the App Store, not a package manager — don't offer to install it.)
327
+
328
+ Frame a missing build toolchain as **"here's how to verify"**, never as a failure of the work.
329
+
314
330
  ### Step 4 — Verify it works end to end
315
331
 
316
332
  1. Confirm the app entry point injects `PathPaymentTerminalAdapter()`.
@@ -180,6 +180,21 @@ Confirm the transaction methods map correctly:
180
180
 
181
181
  ---
182
182
 
183
+ ### Step 3.5 — Build to catch API mismatches (check the environment first)
184
+
185
+ Confirm your C# compiles against the SDK's **real** API. **Probe the toolchain first**, and
186
+ treat a missing one as an environment limitation to advise on, **never as a failure:**
187
+
188
+ 1. `dotnet --version` — is the .NET SDK / MSBuild available? (net48 builds need it.)
189
+ 2. **Present** → run `dotnet build src\Path.Epos.TestHarness.Wpf\Path.Epos.TestHarness.Wpf.csproj`,
190
+ fix any real API mismatches, then continue to Step 4.
191
+ 3. **Absent** → the code is complete; you just can't build *here*. Do **not** report a failure.
192
+ If a package manager is present, **offer** to install the .NET SDK (`winget install Microsoft.DotNet.SDK.8`
193
+ or `choco install dotnet-sdk`); otherwise tell the developer: *"The code is done — build in Visual
194
+ Studio or with `dotnet build` and paste back any errors,"* and summarise the files you changed.
195
+
196
+ Frame a missing build toolchain as **"here's how to verify"**, never as a failure of the work.
197
+
183
198
  ### Step 4 — Verify it works end to end
184
199
 
185
200
  1. Confirm the app composes the Path-backed service, not `OCPayTerminalAdapter`.
@@ -174,6 +174,21 @@ Confirm the transaction methods map correctly:
174
174
 
175
175
  ---
176
176
 
177
+ ### Step 3.5 — Build to catch API mismatches (check the environment first)
178
+
179
+ Confirm your C# compiles against the SDK's **real** API. **Probe the toolchain first**, and
180
+ treat a missing one as an environment limitation to advise on, **never as a failure:**
181
+
182
+ 1. `dotnet --version` — is the .NET 10 SDK available?
183
+ 2. **Present** → run `dotnet build Path.Epos.TestHarness.sln -c Debug`, fix any real API
184
+ mismatches, then continue to Step 4.
185
+ 3. **Absent** → the code is complete; you just can't build *here*. Do **not** report a failure.
186
+ If a package manager is present, **offer** to install the .NET 10 SDK (`winget install Microsoft.DotNet.SDK.10`);
187
+ otherwise tell the developer: *"The code is done — build in Visual Studio or with `dotnet build`
188
+ and paste back any errors,"* and summarise the files you changed.
189
+
190
+ Frame a missing build toolchain as **"here's how to verify"**, never as a failure of the work.
191
+
177
192
  ### Step 4 — Verify it works end to end
178
193
 
179
194
  1. Confirm the app root composes the Path-backed manager, not `OCPayTerminalAdapter`.