@normful/picadillo 4.0.0 → 4.1.0

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.
File without changes
@@ -0,0 +1,7 @@
1
+ {
2
+ "last_failure": "2026-02-18T01:49:04.979785+09:00",
3
+ "failure_count": 1,
4
+ "backoff_until": "2026-02-18T01:49:34.979785+09:00",
5
+ "needs_manual_sync": false,
6
+ "failure_reason": "git pull failed: exit status 128\nFrom github.com:normful/picadillo\n * branch main -\u003e FETCH_HEAD\nhint: You have divergent branches and need to specify how to reconcile them.\nhint: You can do so by running one of the following commands sometime before\nhint: your next pull:\nhint:\nhint: git config pull.rebase false # merge\nhint: git config pull.rebase true # rebase\nhint: git config pull.ff only # fast-forward only\nhint:\nhint: You can replace \"git config\" with \"git config --global\" to set a default\nhint: preference for all repositories. You can also pass --rebase, --no-rebase,\nhint: or --ff-only on the command line to override the configured default per\nhint: invocation.\nfatal: Need to specify how to reconcile divergent branches.\n"
7
+ }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [4.1.0] - 2026-02-17
2
+
3
+ ### 🚀 Features
4
+
5
+ - *(overstory)* Ensure extension runs only in an Overstory git repository
1
6
  ## [4.0.0] - 2026-02-17
2
7
 
3
8
  ### 🚀 Features
@@ -11,6 +16,7 @@
11
16
  ### ⚙️ Miscellaneous Tasks
12
17
 
13
18
  - Shorten package.json description, fix overstory repo URL
19
+ - Release 4.0.0
14
20
  ## [3.0.0] - 2026-02-17
15
21
 
16
22
  ### 🚀 Features
@@ -177,7 +177,30 @@ export async function handleSessionShutdown(
177
177
  await Promise.all([logSessionEnd(execFn), mulchLearn(execFn)]);
178
178
  }
179
179
 
180
- export default function (pi: ExtensionAPI) {
180
+ export async function isOverstoryRepo(
181
+ execFn: ExtensionAPI["exec"],
182
+ ): Promise<boolean> {
183
+ try {
184
+ // Get the git repo root directory (fails if not in a git repo)
185
+ const gitRootResult = await execFn("git", ["rev-parse", "--show-toplevel"]);
186
+ const gitRoot = gitRootResult.stdout.trim();
187
+
188
+ // Check if .overstory directory exists in the git repo root
189
+ const overstoryDirResult = await execFn("ls", ["-d", `${gitRoot}/.overstory`]);
190
+ if (overstoryDirResult.code !== 0) {
191
+ return false; // No .overstory directory
192
+ }
193
+ return true;
194
+ } catch (e) {
195
+ return false; // Not in a git repo or other error
196
+ }
197
+ }
198
+
199
+ export default async function (pi: ExtensionAPI) {
200
+ if (!(await isOverstoryRepo(pi.exec))) {
201
+ return;
202
+ }
203
+
181
204
  pi.on("session_start", async (_event, _ctx) => {
182
205
  await handleSessionStart(pi.exec, pi.sendMessage);
183
206
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@normful/picadillo",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "private": false,
5
5
  "description": "pi agent skills & extensions: run-in-tmux, parrot, mulch, overstory",
6
6
  "keywords": [