@lazyingart/agintiflow 0.20.46 → 0.20.48

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.
@@ -0,0 +1,39 @@
1
+ # AgInTiFlow Housekeeping
2
+
3
+ AgInTiFlow keeps full private session history in `~/.agintiflow/sessions/<session-id>/`.
4
+ That history can include user prompts, model text, tool arguments, file diffs, and artifacts, so it is local-only and should not be committed.
5
+
6
+ Housekeeping is a lighter background layer for reusable learning:
7
+
8
+ - It listens to session events without blocking the main agent loop.
9
+ - It writes sanitized cross-session records to `~/.agintiflow/housekeeping/events.jsonl`.
10
+ - It maintains aggregate model, tool, and skill usage in `~/.agintiflow/housekeeping/capabilities.json`.
11
+ - It redacts common token/key/password patterns and replaces local project/home paths with placeholders.
12
+ - It stores previews, hashes, counts, model/tool names, selected skill ids, and touched skill files rather than a full second transcript.
13
+
14
+ Use:
15
+
16
+ ```bash
17
+ aginti housekeeping
18
+ aginti housekeeping --json
19
+ ```
20
+
21
+ Disable local housekeeping for a run:
22
+
23
+ ```bash
24
+ AGINTIFLOW_HOUSEKEEPING=0 aginti
25
+ ```
26
+
27
+ Project session pointers live in `.aginti-sessions/`, and old `.sessions/` folders may still exist after migration.
28
+ AgInTiFlow adds both to `.gitignore` during `aginti init` and when session storage is prepared, because these folders can contain private local metadata.
29
+
30
+ ## Sharing Without A Center Server
31
+
32
+ Without a central server, the safe sharing path is:
33
+
34
+ 1. Keep raw sessions and artifacts local.
35
+ 2. Aggregate local learning into sanitized housekeeping capability data.
36
+ 3. Promote reviewed reusable knowledge into Markdown skills, task profiles, command policy, or docs.
37
+ 4. Ship those reviewed files through the npm package.
38
+
39
+ This avoids uploading private transcripts while still letting users receive better skills and tools when they upgrade `@lazyingart/agintiflow`.
@@ -0,0 +1,115 @@
1
+ # Skill Mesh
2
+
3
+ Skill Mesh lets AgInTiFlow exchange reusable skills without sharing raw sessions, project code, `.env` files, browser state, artifacts, or provider keys.
4
+
5
+ The first implementation is intentionally conservative:
6
+
7
+ - Skills are shared as signed JSON skill packs.
8
+ - Each pack is validated for required `SKILL.md` frontmatter, safe paths, size limits, secret-like text, and privacy metadata.
9
+ - Shared packs cannot override built-in skills.
10
+ - Community skills are installed disabled by default.
11
+ - Sync is explicit and metadata-first; there is no realtime polling loop.
12
+ - Relay nodes run without model/API keys.
13
+
14
+ ## Modes
15
+
16
+ ```bash
17
+ aginti skillmesh status
18
+ aginti skillmesh share
19
+ aginti skillmesh record
20
+ aginti skillmesh off
21
+ ```
22
+
23
+ Interactive CLI:
24
+
25
+ ```text
26
+ /skillmesh
27
+ ```
28
+
29
+ The selector has three modes:
30
+
31
+ - `share`: record locally and allow reviewed skill-pack sharing.
32
+ - `record`: record local sanitized learning metadata only.
33
+ - `off`: disable Skill Mesh loading and sync.
34
+
35
+ ## Pack Commands
36
+
37
+ Export a reviewed local skill:
38
+
39
+ ```bash
40
+ aginti skillmesh export <skill-id>
41
+ ```
42
+
43
+ Import a reviewed pack:
44
+
45
+ ```bash
46
+ aginti skillmesh import ./example.skillpack.json
47
+ aginti skillmesh enable <skill-id>
48
+ ```
49
+
50
+ Submit a reviewed pack to a relay:
51
+
52
+ ```bash
53
+ aginti skillmesh submit ./example.skillpack.json --node https://skills.flow.lazying.art
54
+ ```
55
+
56
+ Sync metadata and optionally download packs:
57
+
58
+ ```bash
59
+ aginti skillmesh sync
60
+ aginti skillmesh sync --node http://127.0.0.1:7377 --install
61
+ ```
62
+
63
+ Downloaded community packs are still disabled until explicitly enabled.
64
+
65
+ ## Relay Node
66
+
67
+ Run a Skill Mesh relay:
68
+
69
+ ```bash
70
+ aginti skillmesh serve \
71
+ --role major \
72
+ --host 127.0.0.1 \
73
+ --port 7377 \
74
+ --data ~/.aginti-skill-relay \
75
+ --public-url https://skills.flow.lazying.art
76
+ ```
77
+
78
+ Endpoints:
79
+
80
+ - `GET /health`
81
+ - `GET /feed.json`
82
+ - `POST /sync/metadata`
83
+ - `POST /submit`
84
+ - `GET /packs/<hash>.json`
85
+ - `GET /packs/<hash>/metadata.json`
86
+
87
+ The relay stores only validated skill packs and metadata in its data directory. It rejects raw sessions, unsafe paths, secret-like text, unsupported schemas, overlarge packs, unsigned packs, and packs that do not declare the strict privacy contract.
88
+
89
+ ## Storage
90
+
91
+ Local client storage:
92
+
93
+ ```text
94
+ ~/.agintiflow/skillmesh/
95
+ config.json
96
+ identity.json
97
+ index.sqlite
98
+ skills/
99
+ packs/
100
+ inbox/
101
+ outbox/
102
+ reviewed/
103
+ feeds/
104
+ ```
105
+
106
+ Relay storage:
107
+
108
+ ```text
109
+ ~/.aginti-skill-relay/
110
+ index.sqlite
111
+ packs/
112
+ logs/
113
+ ```
114
+
115
+ `identity.json` contains the local Ed25519 signing key and should remain private.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lazyingart/agintiflow",
3
- "version": "0.20.46",
3
+ "version": "0.20.48",
4
4
  "type": "module",
5
5
  "description": "AgInTiFlow is a web-first coding agent and CLI with DeepSeek routing, sandboxed tools, model providers, canvas artifacts, and optional wrappers.",
6
6
  "license": "Apache-2.0",
@@ -58,6 +58,7 @@
58
58
  "scripts/smoke-model-roles.js",
59
59
  "scripts/smoke-platform.js",
60
60
  "scripts/smoke-skills.js",
61
+ "scripts/smoke-skillmesh.js",
61
62
  "scripts/smoke-tmux-tools.js",
62
63
  "scripts/smoke-toolchain-docker.js",
63
64
  "scripts/smoke-web-api.js",
@@ -81,6 +82,7 @@
81
82
  "smoke:canvas-artifacts": "node scripts/smoke-canvas-artifacts.js",
82
83
  "smoke:cli-chat": "node scripts/smoke-cli-chat.js",
83
84
  "smoke:skills": "node scripts/smoke-skills.js",
85
+ "smoke:skillmesh": "node scripts/smoke-skillmesh.js",
84
86
  "smoke:toolchain-docker": "node scripts/smoke-toolchain-docker.js",
85
87
  "smoke:inbox": "node scripts/smoke-inbox.js",
86
88
  "smoke:model-roles": "node scripts/smoke-model-roles.js",
@@ -91,7 +93,7 @@
91
93
  "real:deepseek": "node scripts/real-deepseek-capabilities.js",
92
94
  "supervision:seed": "node scripts/seed-supervised-homework.js",
93
95
  "storage:migrate": "node bin/aginti-cli.js storage migrate",
94
- "test": "npm run check && npm run smoke:autoupdate && npm run smoke:web-api && npm run smoke:coding-tools && npm run smoke:auxiliary-tools && npm run smoke:auth && npm run smoke:canvas-artifacts && npm run smoke:capabilities && npm run smoke:model-roles && npm run smoke:platform && npm run smoke:skills && npm run smoke:tmux-tools && npm run smoke:cli-chat && npm run smoke:inbox",
96
+ "test": "npm run check && npm run smoke:autoupdate && npm run smoke:web-api && npm run smoke:coding-tools && npm run smoke:auxiliary-tools && npm run smoke:auth && npm run smoke:canvas-artifacts && npm run smoke:capabilities && npm run smoke:model-roles && npm run smoke:platform && npm run smoke:skills && npm run smoke:skillmesh && npm run smoke:tmux-tools && npm run smoke:cli-chat && npm run smoke:inbox",
95
97
  "pack:dry-run": "npm pack --dry-run",
96
98
  "smoke:capabilities": "node scripts/smoke-capabilities.js"
97
99
  },