@hasna/skills 0.10.1 → 0.10.2
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/README.md +32 -0
- package/bin/index.js +352 -119
- package/bin/mcp.js +229 -42
- package/bin/migrate.js +2 -6
- package/bin/server.js +5 -6
- package/bin/worker.js +2 -6
- package/dist/index.js +239 -60
- package/dist/lib/selection-cache.d.ts +12 -0
- package/dist/sdk/index.js +312 -134
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -488,6 +488,30 @@ are acquired in deterministic path order, and the parent is re-read immediately
|
|
|
488
488
|
before the child commit; any changed or ABA generation refuses the child write.
|
|
489
489
|
No agent process is stopped or restarted.
|
|
490
490
|
|
|
491
|
+
Session write locks created by current releases include the host, boot and
|
|
492
|
+
process start identity (plus the Linux PID namespace). After 30 seconds, a
|
|
493
|
+
later writer can archive one only when that identity proves the writer is gone
|
|
494
|
+
on this same host. The exact lock bytes and a metadata record remain under
|
|
495
|
+
`selection-cache/session-lock-recoveries`; the session receipt is not changed
|
|
496
|
+
by recovery. A live, recent, malformed or different-host lock still blocks the
|
|
497
|
+
write. A recovery guard serializes competing recoverers.
|
|
498
|
+
|
|
499
|
+
Older PID-only locks require a local review because they do not identify their
|
|
500
|
+
host. On the host that created the lock, inspect the receipt and lock, verify
|
|
501
|
+
the recorded PID belongs to no live writer, then apply the exact reviewed lock:
|
|
502
|
+
|
|
503
|
+
```bash
|
|
504
|
+
skills sessions recover-lock <session-id> --json
|
|
505
|
+
skills sessions recover-lock <session-id> --apply \
|
|
506
|
+
--review-digest <review-digest> --confirm-local-host --json
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
The second command rechecks the lock, receipt, age and PID before archiving.
|
|
510
|
+
Keep the archive path returned by the command. If the review changes or the
|
|
511
|
+
writer cannot be proven gone, leave the lock in place; do not remove the
|
|
512
|
+
session receipt or stop a running agent. A surviving recovery guard also
|
|
513
|
+
requires separate review before another recovery attempt.
|
|
514
|
+
|
|
491
515
|
Use the same updated Skills installation for every process writing this cache.
|
|
492
516
|
Session writers coordinate with reconciliation and refuse a stale write that
|
|
493
517
|
would restore an earlier pin. Reviewed reconciliation approvals bind their
|
|
@@ -1469,7 +1493,15 @@ The server supports SQLite and Postgres. The database is an adapter choice, not
|
|
|
1469
1493
|
different product: the schema, the organization scoping, and the run lifecycle are
|
|
1470
1494
|
identical either way.
|
|
1471
1495
|
|
|
1496
|
+
Set `SKILLS_PUBLIC_BASE_URL` to this server's public API origin before starting
|
|
1497
|
+
`skills-serve` or embedding its SDK handler. The server uses that authority in
|
|
1498
|
+
profile receipts; its socket address cannot establish the public URL. For a
|
|
1499
|
+
local-only instance, use the loopback origin shown below. A deployed independent
|
|
1500
|
+
instance should use its own HTTPS origin. Without an explicit public URL, the
|
|
1501
|
+
server refuses to start before opening storage.
|
|
1502
|
+
|
|
1472
1503
|
```bash
|
|
1504
|
+
export SKILLS_PUBLIC_BASE_URL=http://127.0.0.1:8787
|
|
1473
1505
|
skills-serve # SQLite at ~/.hasna/skills/server.db
|
|
1474
1506
|
HASNA_SKILLS_DATABASE_URL=<path>/server.db skills-serve
|
|
1475
1507
|
HASNA_SKILLS_DATABASE_URL=postgres://user:CHANGEME@host/skills skills-serve
|