@inneranimalmedia/agentsam-sdk 2.1.0 → 2.2.1
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 +27 -15
- package/docs/CAPABILITIES.md +93 -0
- package/docs/CLI_SHELL.md +10 -1
- package/docs/RELEASES.md +2 -1
- package/docs/portable-knowledge.md +4 -4
- package/package.json +7 -1
- package/packages/identity/package.json +1 -1
- package/packages/identity/src/frontend/auth-portal/README.md +1 -1
- package/packages/identity/src/index.js +2 -0
- package/protocol/capabilities/capability-manifest.schema.json +36 -0
- package/protocol/capabilities/manifest.json +179 -0
- package/protocol/capabilities/repository-audit-input.schema.json +14 -0
- package/protocol/capabilities/repository-audit.schema.json +30 -0
- package/protocol/capabilities/repository-snapshot-input.schema.json +11 -0
- package/protocol/capabilities/repository-snapshot.schema.json +20 -0
- package/protocol/knowledge/chunk.schema.json +15 -73
- package/protocol/knowledge/document.schema.json +10 -48
- package/protocol/knowledge/index-config.schema.json +2 -2
- package/protocol/knowledge/repository.schema.json +11 -52
- package/protocol/knowledge/retrieval-query.schema.json +13 -63
- package/protocol/knowledge/source.schema.json +9 -43
- package/protocol/presets/catalog.json +48 -0
- package/python/agentsam_sdk/knowledge/models.py +19 -7
- package/python/agentsam_sdk/repository/__main__.py +2 -2
- package/python/tests/test_knowledge_models.py +6 -2
- package/src/agent/capability-adapter.js +50 -0
- package/src/agent/index.js +2 -0
- package/src/agent/repository-audit.js +188 -0
- package/src/capabilities/index.js +7 -0
- package/src/capabilities/manifest.js +22 -0
- package/src/capabilities/repository-snapshot.js +180 -0
- package/src/cli.js +56 -39
- package/src/commands/deploy.js +0 -1
- package/src/commands/knowledge.js +5 -6
- package/src/commands/product.js +119 -0
- package/src/commands/shell.js +253 -0
- package/src/index.js +9 -0
- package/src/knowledge/config.js +12 -6
- package/src/knowledge/contracts.js +1 -1
- package/src/knowledge/engine.js +1 -1
- package/src/knowledge/service/server.js +2 -2
- package/src/lib/git-context.js +3 -1
- package/src/lib/slash-commands.js +2 -1
- package/src/presets/index.js +20 -0
- package/src/repository/index.js +4 -0
- package/test/agent-capabilities.test.mjs +67 -0
- package/test/capabilities.test.mjs +84 -0
- package/test/portable-context.test.mjs +11 -1
- package/test/shell.test.mjs +60 -0
- package/test/smoke.mjs +2 -2
package/README.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# AgentSam SDK
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
A deterministic-first application and agent toolkit: reusable repository, knowledge, integrity,
|
|
4
|
+
security, identity, scaffolding, and delivery capabilities with optional AgentSam/LLM composition.
|
|
5
|
+
CLI/TUI surfaces make those same primitives easy to use without making a model part of the implementation.
|
|
5
6
|
|
|
6
7
|
**npm:** `@inneranimalmedia/agentsam-sdk` · **Source:** [GitHub](https://github.com/SamPrimeaux/agentsam-sdk)
|
|
7
8
|
|
|
@@ -24,19 +25,23 @@ or use local scaffolding/indexing.
|
|
|
24
25
|
## Create a local application
|
|
25
26
|
|
|
26
27
|
```sh
|
|
27
|
-
agentsam
|
|
28
|
+
agentsam create my-agent --preset fullstack
|
|
28
29
|
cd my-agent
|
|
29
30
|
npm install
|
|
30
31
|
npm run smoke
|
|
31
|
-
|
|
32
|
+
agentsam dev
|
|
32
33
|
```
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
Presets are deterministic configuration bundles, not model prompts. Available starting presets are
|
|
36
|
+
`fullstack`, `cms`, `prototype`, and `data`; they select an existing scaffold lane plus explicit feature
|
|
37
|
+
and capability IDs. They do not silently provision cloud resources. The older
|
|
38
|
+
`agentsam init --name my-agent --yes` scaffold entry point remains available for compatibility.
|
|
38
39
|
|
|
39
|
-
|
|
40
|
+
The generated project contains a Git repository, local SQLite database, environment templates, a Node
|
|
41
|
+
API, and terminal commands. Local setup does not require an IAM account, cloud credentials, a model, or
|
|
42
|
+
a tunnel. Use `agentsam add <feature>` to record an explicit feature selection and its capability set.
|
|
43
|
+
|
|
44
|
+
Without a global install, use `npx @inneranimalmedia/agentsam-sdk create my-agent --preset fullstack`.
|
|
40
45
|
|
|
41
46
|
## Index an existing repository
|
|
42
47
|
|
|
@@ -57,10 +62,16 @@ The JavaScript/TypeScript parser records syntactic relationships, not a fully re
|
|
|
57
62
|
semantic call graph. Model/dimension changes create a distinct embedding profile.
|
|
58
63
|
Python-backed snapshots capture repository composition and Git churn.
|
|
59
64
|
|
|
60
|
-
##
|
|
65
|
+
## Capability discovery and available kits
|
|
66
|
+
|
|
67
|
+
The canonical machine-readable capability registry is available through `agentsam capabilities --json`
|
|
68
|
+
and `@inneranimalmedia/agentsam-sdk/capabilities`. `agentsam inspect --json` runs the canonical
|
|
69
|
+
read-only `repository.snapshot` composition primitive. See [Capabilities and presets](docs/CAPABILITIES.md).
|
|
61
70
|
|
|
62
71
|
| Capability | Entry point | Guide |
|
|
63
72
|
| --- | --- | --- |
|
|
73
|
+
| Capability registry + presets | `agentsam capabilities`, `/capabilities`, `/presets` | [Capabilities](docs/CAPABILITIES.md) |
|
|
74
|
+
| Canonical repository snapshot | `agentsam inspect --json`; `/repository` | [Capabilities](docs/CAPABILITIES.md) |
|
|
64
75
|
| Git context and bridge client | `agentsam context --json`; `/git-context`, `/bridge-client` | [Portable context](docs/PORTABLE_CONTEXT.md) |
|
|
65
76
|
| Identity contracts and adapters | `/identity`; `agentsam identity init` | [Identity](packages/identity/README.md) |
|
|
66
77
|
| Repository knowledge | `agentsam index`, `search`, `repo`; `/knowledge` | [Knowledge](docs/portable-knowledge.md) |
|
|
@@ -93,11 +104,12 @@ authorizes its caller. Other local tooling uses Node APIs.
|
|
|
93
104
|
|
|
94
105
|
## Host integration and ownership
|
|
95
106
|
|
|
96
|
-
The root `AgentSam` helper supplies
|
|
97
|
-
tool execution policy, provider credentials,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
107
|
+
Deterministic SDK capabilities remain useful without a model. The root `AgentSam` helper supplies an
|
|
108
|
+
optional routing/session wrapper, while model orchestration, tool execution policy, provider credentials,
|
|
109
|
+
actor/account authorization, workflow durability, approvals, jobs, and production application records
|
|
110
|
+
belong to the consuming host application. Git/repository identity never proves actor authority, and the SDK
|
|
111
|
+
does not create a second platform tools database. The old `scaffoldProject()` export is deprecated; use
|
|
112
|
+
`agentsam create` or the local scaffold commands.
|
|
101
113
|
|
|
102
114
|
This repository owns portable code once. Applications import it and provide adapters;
|
|
103
115
|
they do not mirror SDK trees. [Ownership protocol](protocol/README.md).
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Deterministic capabilities and product presets
|
|
2
|
+
|
|
3
|
+
AgentSam SDK treats useful mechanics as deterministic capabilities first. Model/agent orchestration is an optional consumer of those capabilities, not a prerequisite for using them.
|
|
4
|
+
|
|
5
|
+
## Contract
|
|
6
|
+
|
|
7
|
+
A capability has a stable ID, kind, runtime, side-effect class, CLI/library entry point where applicable, and explicit model requirement. The canonical data SSOT is `protocol/capabilities/manifest.json`; `src/capabilities/manifest.js` is only its runtime reader. Presets follow the same rule through `protocol/presets/catalog.json`.
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import { getCapabilityManifest, repositorySnapshot } from '@inneranimalmedia/agentsam-sdk/capabilities';
|
|
11
|
+
import { getPresetCatalog } from '@inneranimalmedia/agentsam-sdk/presets';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Raw machine-readable data is also shipped through the `/capability-manifest` and `/preset-catalog` package subpaths.
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
agentsam capabilities
|
|
18
|
+
agentsam capabilities repository.snapshot --json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This registry is intended to drive CLI/TUI discovery, AgentSam/MCP tool selection, docs, verification, and workflow capability resolution. It is deliberately not a second hosted tools database.
|
|
22
|
+
|
|
23
|
+
## repository.snapshot
|
|
24
|
+
|
|
25
|
+
`repository.snapshot` is the first canonical composition primitive. It performs one read-only evidence collection pass over the current checkout and combines existing SDK mechanics:
|
|
26
|
+
|
|
27
|
+
- Git resource identity and revision
|
|
28
|
+
- Python repository intelligence
|
|
29
|
+
- Merkle root and tree statistics
|
|
30
|
+
- package/manifests
|
|
31
|
+
- local knowledge/index generation when configured
|
|
32
|
+
- last trusted local deployment receipt when available
|
|
33
|
+
- a content hash over the collected evidence
|
|
34
|
+
|
|
35
|
+
It does **not** call an LLM, mutate source, index the repository, provision cloud resources, or invent platform account/workspace authority.
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
agentsam inspect --json
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```js
|
|
42
|
+
import { repositorySnapshot } from '@inneranimalmedia/agentsam-sdk/repository';
|
|
43
|
+
const snapshot = await repositorySnapshot({ cwd: process.cwd() });
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The timestamp is not included in the content hash, so unchanged evidence produces the same `content_hash` and `snapshot_id`.
|
|
47
|
+
|
|
48
|
+
## Optional AgentSam/LLM composition
|
|
49
|
+
|
|
50
|
+
`repository.audit` is intentionally a different kind of manifest entry: an `agent_primitive`, not a deterministic evidence collector. It accepts a certified `repository.snapshot`, builds a bounded read-only evidence packet, and requires the caller to inject a `reasoner(packet)` function. The SDK does not choose a provider or model.
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
import { createCapabilityAdapter, runRepositoryAudit } from '@inneranimalmedia/agentsam-sdk/agent';
|
|
54
|
+
|
|
55
|
+
const audit = await runRepositoryAudit({
|
|
56
|
+
snapshot,
|
|
57
|
+
reasoner: async packet => myModelAnalyze(packet),
|
|
58
|
+
});
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The audit validator rejects mutation-oriented output keys such as jobs, executions, commits, deployments, mutations, and patches. A host Workflow may later turn validated findings/routes into plans or proposed jobs; that durable process remains outside the SDK.
|
|
62
|
+
|
|
63
|
+
`createCapabilityAdapter()` converts the same canonical manifest into a small executable tool surface. Built-in `repository.snapshot` is available without a model; `repository.audit` becomes available only when a reasoner is supplied; other capability handlers can be injected explicitly by a host. This is the intended search-and-execute boundary rather than exposing every SDK command to every agent turn.
|
|
64
|
+
|
|
65
|
+
## Product UX and power-user UX
|
|
66
|
+
|
|
67
|
+
Product entry points are intentionally small:
|
|
68
|
+
|
|
69
|
+
```sh
|
|
70
|
+
agentsam create myapp --preset fullstack
|
|
71
|
+
agentsam add knowledge
|
|
72
|
+
agentsam dev
|
|
73
|
+
agentsam inspect
|
|
74
|
+
agentsam deploy
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Power-user primitives remain available:
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
agentsam repo snapshot
|
|
81
|
+
agentsam index ...
|
|
82
|
+
agentsam search ...
|
|
83
|
+
agentsam merkle ...
|
|
84
|
+
agentsam recon ...
|
|
85
|
+
agentsam security ...
|
|
86
|
+
agentsam deploy-receipt ...
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Presets select a coherent starting configuration; they do not silently provision remote services. `agentsam add` records an explicit feature selection in `.agentsam/features.json`; feature-specific commands continue to own real mutations until an additive handler can satisfy the complete feature contract safely.
|
|
90
|
+
|
|
91
|
+
## Ownership boundary
|
|
92
|
+
|
|
93
|
+
The SDK owns portable deterministic implementations and contracts. A host platform owns actor authorization, account ownership, workflow durability, approvals, job materialization, provider credentials, and application records. Portable repository capabilities must never infer actor authority from Git, workspace, or tenant labels.
|
package/docs/CLI_SHELL.md
CHANGED
|
@@ -21,7 +21,15 @@ Runs the optional Python Rich renderer. `--install` creates an isolated `.agents
|
|
|
21
21
|
agentsam shell
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Starts the interactive Agent Sam slash-command shell. Once the `agentsam>` prompt is visible, commands such as `/help`, `/status`, `/pwd`, and `/git` are handled by Agent Sam instead of the host shell (PowerShell, bash, or zsh). Use `/exit` to return to the host terminal.
|
|
25
|
+
|
|
26
|
+
Do not type `/help` directly at a PowerShell/bash prompt; enter `agentsam shell` first.
|
|
27
|
+
|
|
28
|
+
For scripts and regression tests, a single slash command can be dispatched without opening the REPL:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
agentsam shell --command /help
|
|
32
|
+
```
|
|
25
33
|
|
|
26
34
|
## Architecture
|
|
27
35
|
|
|
@@ -92,6 +100,7 @@ Gorilla is intentionally not scaffolded by default.
|
|
|
92
100
|
/logs local execution events
|
|
93
101
|
/tui terminal presentation
|
|
94
102
|
/deploy intentionally add a cloud adapter
|
|
103
|
+
/exit exit Agent Sam shell and return to the host terminal
|
|
95
104
|
```
|
|
96
105
|
|
|
97
106
|
Provider-specific commands such as `/claude` or `/codex` are not part of the generic shell contract. Model routing belongs behind Agent Sam.
|
package/docs/RELEASES.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# `@inneranimalmedia/agentsam-sdk` release receipts
|
|
2
2
|
|
|
3
|
-
**2.
|
|
3
|
+
**2.1.0 is published on npm and is the `latest` dist-tag.** The private identity workspace
|
|
4
4
|
continues to ship through the root SDK exports and is not published separately.
|
|
5
5
|
|
|
6
6
|
| npm version | Published (UTC) | IAM git SHA (40) | Notes |
|
|
7
7
|
|-------------|-----------------|------------------|-------|
|
|
8
|
+
| 2.1.0 | 2026-09-09 (UTC, approx) | `a2570afdf1ae99542565fa3937abd7dbf95d121f` | Recon bounded-worker protocol: `protocol/recon/*` schemas, `python/agentsam_sdk/repository/recon` (packet/validate + `from_ripgrep`/`from_ast_grep` adapters), `agentsam recon pack\|validate` CLI (#27, #28). SDK-native change — no corresponding IAM platform-repo mirror SHA. |
|
|
8
9
|
| 2.0.0 | 2026-09-03T02:21:44.857Z | `ed629869e701809d2bf4c61bd56d05d8d8d1e183` | Stable SDK 2.0.0; npm `latest`; identity bundled through root exports; release verification and dependency scan passed before publish. |
|
|
9
10
|
| 2.0.0-alpha.identity.5 | _(pending npm)_ | `df064114eb7f8888f163e4a07dfddf19035b7169` | Password reset service, `registerFinalizeInboundOAuth`, IAM live proof. |
|
|
10
11
|
| 2.0.0-alpha.identity.4 | 2026-08-22 | `df064114eb7f8888f163e4a07dfddf19035b7169` | IAM auth portal sync: signup→`/api/auth/signup`, `company-branding.js`, preview stubs. SDK git `d7498ca`. |
|
|
@@ -12,7 +12,7 @@ agentsam search "snapshot integrity"
|
|
|
12
12
|
agentsam index show
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
Bare `agentsam init` detects an existing Git repository and offers a setup wizard. `agentsam init --name new-project` retains the scaffold workflow. Setup creates `.agentsam/knowledge.json` exclusively and preserves existing source/configuration. The config's `repository_id` is generated once
|
|
15
|
+
Bare `agentsam init` detects an existing Git repository and offers a setup wizard. `agentsam init --name new-project` retains the scaffold workflow. Setup creates `.agentsam/knowledge.json` exclusively and preserves existing source/configuration. The config's `repository_id` is generated once and is the portable knowledge identity. New configs do not require or create a workspace identifier. Legacy configs that already contain `workspace_id` remain readable and retain their previous cache/generation namespace for compatibility. Commit this non-secret config to share identity across checkouts. Use a distinct repository ID when the same source must represent a different repository corpus.
|
|
16
16
|
|
|
17
17
|
Scope entries are literal relative files/directories, comma-separated on the CLI, not glob expressions. Supported AST languages are JS/JSX/TS/TSX including `.mjs`, `.cjs`, `.mts`, `.cts`; Markdown/MDX, SQL and JSON are bounded text chunks, not AST parsers. Imports, re-exports and call expressions are syntactic observations marked `resolved: false`, not a type-resolved cross-file call graph. Syntax errors abort publication.
|
|
18
18
|
|
|
@@ -36,7 +36,7 @@ Limits count unique uncached inputs and content characters, not total billable a
|
|
|
36
36
|
## Incremental and history guarantees
|
|
37
37
|
|
|
38
38
|
- Structural parse cache keys include source content, language, parser version and chunking policy.
|
|
39
|
-
- Vector keys include
|
|
39
|
+
- Vector keys include the repository namespace, model, revision, dimensions, parameters, input-format version and actual chunk content. Legacy configs with `workspace_id` preserve their prior workspace-qualified namespace so existing cached vectors remain readable. Paths/commit IDs are retrieval metadata, so a pure move reuses vectors.
|
|
40
40
|
- Scope expansion rechecks the complete selected inventory. Named scopes have separate active generations. Different customers/repositories do not share caches.
|
|
41
41
|
- An unchanged run performs zero embedding requests. An edit embeds only changed chunks; changing the profile creates a separate embedding space.
|
|
42
42
|
- A run stages completed cache work, rechecks source hashes, then atomically publishes a generation with compare-and-swap protection. Provider failure, invalid dimensions, concurrent publication or mid-run source edits leave the previous active generation intact.
|
|
@@ -59,14 +59,14 @@ This wraps the existing bundled Python repository-intelligence module (Python 3.
|
|
|
59
59
|
## Backend Postgres / Supabase
|
|
60
60
|
|
|
61
61
|
```sh
|
|
62
|
-
agentsam init . --yes --include backend/feature --target production
|
|
62
|
+
agentsam init . --yes --include backend/feature --target production
|
|
63
63
|
# Supply AGENTSAM_DATABASE_URL through a secret manager.
|
|
64
64
|
agentsam index setup-store
|
|
65
65
|
agentsam index plan
|
|
66
66
|
agentsam index run
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Production selects the storage destination; execution still runs from this checkout. Review [`postgres.sql`](../src/knowledge/stores/postgres.sql) before `setup-store`, which explicitly applies it to the configured database. Init/plan/search never migrate a database. Use a dedicated backend connection with TLS appropriate to your environment. The private `agentsam_knowledge` schema is not intended for browser access or Supabase's exposed REST schemas; tenant authorization belongs in the host.
|
|
69
|
+
Production selects the storage destination; execution still runs from this checkout. Review [`postgres.sql`](../src/knowledge/stores/postgres.sql) before `setup-store`, which explicitly applies it to the configured database. Init/plan/search never migrate a database. Use a dedicated backend connection with TLS appropriate to your environment. The private `agentsam_knowledge` schema is not intended for browser access or Supabase's exposed REST schemas; account/tenant authorization belongs in the host. Repository ID plus named scope isolates portable knowledge generations; it is resource identity, not actor authentication.
|
|
70
70
|
|
|
71
71
|
SQLite stores cache entries plus immutable generation/observation payloads locally under `.agentsam/knowledge/`, excluded from Git. Postgres stores the same versioned facts in JSONB and embeddings in native pgvector, with exact cosine ranking restricted to the selected generation's vector keys. This first slice uses exact search, not an ANN index; large indexes need per-profile partitions/indexes and benchmarks. The unconstrained vector column permits multiple dimensional profiles, but queries never mix them. Retention/garbage collection is intentionally absent so initial history is preserved; configure a retention policy before large production backfills.
|
|
72
72
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inneranimalmedia/agentsam-sdk",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "Portable AgentSam SDK and CLI kits for local scaffolding, repository intelligence, incremental indexing, identity adapters, and verified dependency maintenance.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -15,6 +15,12 @@
|
|
|
15
15
|
"./deploy-receipt": "./src/lib/deploy-receipt/index.js",
|
|
16
16
|
"./knowledge": "./src/knowledge/index.js",
|
|
17
17
|
"./knowledge-service-client": "./src/knowledge/service/client.js",
|
|
18
|
+
"./capabilities": "./src/capabilities/index.js",
|
|
19
|
+
"./capability-manifest": "./protocol/capabilities/manifest.json",
|
|
20
|
+
"./repository": "./src/repository/index.js",
|
|
21
|
+
"./agent": "./src/agent/index.js",
|
|
22
|
+
"./presets": "./src/presets/index.js",
|
|
23
|
+
"./preset-catalog": "./protocol/presets/catalog.json",
|
|
18
24
|
"./identity": "./packages/identity/src/index.js",
|
|
19
25
|
"./identity/providers": "./packages/identity/src/providers/index.js",
|
|
20
26
|
"./identity/providers/google": "./packages/identity/src/providers/google/index.js",
|
|
@@ -11,7 +11,7 @@ Pages copied **verbatim** from IAM `static/pages/auth/*` — reorganize only.
|
|
|
11
11
|
| Colors | `:root { --auth-bg, ... }` | theme tokens — **no JS changes** |
|
|
12
12
|
| OAuth labels | button text | HTML only |
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
The CLI can now scaffold the reusable identity app surfaces directly with `agentsam identity init --name <project> --brand "App Name"`. This copies the portal, Worker adapter, and migrations into a standalone app layout. Use `portal.brand` at `createIdentityClient` init for programmatic configuration, or `agentsam identity preview` for the local preview server.
|
|
15
15
|
|
|
16
16
|
## Source map
|
|
17
17
|
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
listIdentityProviders,
|
|
18
18
|
GoogleProvider,
|
|
19
19
|
GithubProvider,
|
|
20
|
+
IamProvider,
|
|
20
21
|
GcpProvider,
|
|
21
22
|
EmailProvider,
|
|
22
23
|
} from './providers/index.js';
|
|
@@ -34,6 +35,7 @@ export {
|
|
|
34
35
|
listIdentityProviders,
|
|
35
36
|
GoogleProvider,
|
|
36
37
|
GithubProvider,
|
|
38
|
+
IamProvider,
|
|
37
39
|
GcpProvider,
|
|
38
40
|
EmailProvider,
|
|
39
41
|
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.inneranimalmedia.com/agentsam/capabilities/manifest.schema.json",
|
|
4
|
+
"title": "AgentSam capability manifest",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "package", "capabilities"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": 1 },
|
|
10
|
+
"package": { "type": "string", "minLength": 1 },
|
|
11
|
+
"capabilities": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"additionalProperties": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": ["id", "kind", "version", "domain", "runtime", "description", "deterministic", "model_required", "side_effects", "status"],
|
|
16
|
+
"properties": {
|
|
17
|
+
"id": { "type": "string", "pattern": "^[a-z][a-z0-9.-]+$" },
|
|
18
|
+
"kind": { "enum": ["capability", "agent_primitive"] },
|
|
19
|
+
"version": { "type": "integer", "minimum": 1 },
|
|
20
|
+
"domain": { "type": "string", "minLength": 1 },
|
|
21
|
+
"runtime": { "type": "string", "minLength": 1 },
|
|
22
|
+
"package": { "type": "string" },
|
|
23
|
+
"export": { "type": "string" },
|
|
24
|
+
"cli": { "type": "string" },
|
|
25
|
+
"description": { "type": "string", "minLength": 1 },
|
|
26
|
+
"deterministic": { "type": "boolean" },
|
|
27
|
+
"model_required": { "type": "boolean" },
|
|
28
|
+
"side_effects": { "type": "string" },
|
|
29
|
+
"input_schema": { "type": "string" },
|
|
30
|
+
"output_schema": { "type": "string" },
|
|
31
|
+
"status": { "enum": ["stable", "experimental", "deprecated"] }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"package": "@inneranimalmedia/agentsam-sdk",
|
|
4
|
+
"capabilities": {
|
|
5
|
+
"repository.snapshot": {
|
|
6
|
+
"id": "repository.snapshot",
|
|
7
|
+
"kind": "capability",
|
|
8
|
+
"version": 1,
|
|
9
|
+
"domain": "repository",
|
|
10
|
+
"runtime": "node+python",
|
|
11
|
+
"package": "@inneranimalmedia/agentsam-sdk/repository",
|
|
12
|
+
"export": "repositorySnapshot",
|
|
13
|
+
"cli": "agentsam inspect --json",
|
|
14
|
+
"description": "Collect a read-only, content-addressed repository evidence snapshot.",
|
|
15
|
+
"deterministic": true,
|
|
16
|
+
"model_required": false,
|
|
17
|
+
"side_effects": "none",
|
|
18
|
+
"input_schema": "protocol/capabilities/repository-snapshot-input.schema.json",
|
|
19
|
+
"output_schema": "protocol/capabilities/repository-snapshot.schema.json",
|
|
20
|
+
"status": "stable"
|
|
21
|
+
},
|
|
22
|
+
"repository.audit": {
|
|
23
|
+
"id": "repository.audit",
|
|
24
|
+
"kind": "agent_primitive",
|
|
25
|
+
"version": 1,
|
|
26
|
+
"domain": "repository",
|
|
27
|
+
"runtime": "node",
|
|
28
|
+
"package": "@inneranimalmedia/agentsam-sdk/agent",
|
|
29
|
+
"export": "runRepositoryAudit",
|
|
30
|
+
"description": "Analyze a certified repository snapshot through an injected reasoning adapter without granting mutation authority.",
|
|
31
|
+
"deterministic": false,
|
|
32
|
+
"model_required": true,
|
|
33
|
+
"side_effects": "none",
|
|
34
|
+
"input_schema": "protocol/capabilities/repository-audit-input.schema.json",
|
|
35
|
+
"output_schema": "protocol/capabilities/repository-audit.schema.json",
|
|
36
|
+
"status": "stable"
|
|
37
|
+
},
|
|
38
|
+
"repository.intelligence": {
|
|
39
|
+
"id": "repository.intelligence",
|
|
40
|
+
"kind": "capability",
|
|
41
|
+
"version": 1,
|
|
42
|
+
"domain": "repository",
|
|
43
|
+
"runtime": "python",
|
|
44
|
+
"package": "@inneranimalmedia/agentsam-sdk/repository",
|
|
45
|
+
"cli": "agentsam repo snapshot",
|
|
46
|
+
"description": "Observe repository composition, manifests, churn, pressure, and stability.",
|
|
47
|
+
"deterministic": true,
|
|
48
|
+
"model_required": false,
|
|
49
|
+
"side_effects": "none",
|
|
50
|
+
"status": "stable"
|
|
51
|
+
},
|
|
52
|
+
"knowledge.index": {
|
|
53
|
+
"id": "knowledge.index",
|
|
54
|
+
"kind": "capability",
|
|
55
|
+
"version": 1,
|
|
56
|
+
"domain": "repository",
|
|
57
|
+
"runtime": "node",
|
|
58
|
+
"package": "@inneranimalmedia/agentsam-sdk/knowledge",
|
|
59
|
+
"cli": "agentsam index run",
|
|
60
|
+
"description": "Build a coherent incremental AST/text generation with optional embeddings.",
|
|
61
|
+
"deterministic": true,
|
|
62
|
+
"model_required": false,
|
|
63
|
+
"side_effects": "local-state",
|
|
64
|
+
"status": "stable"
|
|
65
|
+
},
|
|
66
|
+
"knowledge.search": {
|
|
67
|
+
"id": "knowledge.search",
|
|
68
|
+
"kind": "capability",
|
|
69
|
+
"version": 1,
|
|
70
|
+
"domain": "repository",
|
|
71
|
+
"runtime": "node",
|
|
72
|
+
"package": "@inneranimalmedia/agentsam-sdk/knowledge",
|
|
73
|
+
"cli": "agentsam search \"query\"",
|
|
74
|
+
"description": "Retrieve bounded repository context from a published knowledge generation.",
|
|
75
|
+
"deterministic": true,
|
|
76
|
+
"model_required": false,
|
|
77
|
+
"side_effects": "none",
|
|
78
|
+
"status": "stable"
|
|
79
|
+
},
|
|
80
|
+
"merkle.snapshot": {
|
|
81
|
+
"id": "merkle.snapshot",
|
|
82
|
+
"kind": "capability",
|
|
83
|
+
"version": 1,
|
|
84
|
+
"domain": "integrity",
|
|
85
|
+
"runtime": "node",
|
|
86
|
+
"package": "@inneranimalmedia/agentsam-sdk/merkle",
|
|
87
|
+
"cli": "agentsam merkle snapshot",
|
|
88
|
+
"description": "Create a portable SHA-256 filesystem snapshot.",
|
|
89
|
+
"deterministic": true,
|
|
90
|
+
"model_required": false,
|
|
91
|
+
"side_effects": "local-state",
|
|
92
|
+
"status": "stable"
|
|
93
|
+
},
|
|
94
|
+
"deploy.receipt": {
|
|
95
|
+
"id": "deploy.receipt",
|
|
96
|
+
"kind": "capability",
|
|
97
|
+
"version": 1,
|
|
98
|
+
"domain": "delivery",
|
|
99
|
+
"runtime": "node",
|
|
100
|
+
"package": "@inneranimalmedia/agentsam-sdk/deploy-receipt",
|
|
101
|
+
"cli": "agentsam deploy-receipt capture",
|
|
102
|
+
"description": "Capture and finalize content-addressed deployment evidence.",
|
|
103
|
+
"deterministic": true,
|
|
104
|
+
"model_required": false,
|
|
105
|
+
"side_effects": "local-state",
|
|
106
|
+
"status": "stable"
|
|
107
|
+
},
|
|
108
|
+
"security.scan": {
|
|
109
|
+
"id": "security.scan",
|
|
110
|
+
"kind": "capability",
|
|
111
|
+
"version": 1,
|
|
112
|
+
"domain": "security",
|
|
113
|
+
"runtime": "node",
|
|
114
|
+
"package": "@inneranimalmedia/agentsam-sdk/security",
|
|
115
|
+
"cli": "agentsam security scan",
|
|
116
|
+
"description": "Inventory dependency state and optionally query vulnerability evidence.",
|
|
117
|
+
"deterministic": true,
|
|
118
|
+
"model_required": false,
|
|
119
|
+
"side_effects": "network-optional",
|
|
120
|
+
"status": "stable"
|
|
121
|
+
},
|
|
122
|
+
"identity.init": {
|
|
123
|
+
"id": "identity.init",
|
|
124
|
+
"kind": "capability",
|
|
125
|
+
"version": 1,
|
|
126
|
+
"domain": "app",
|
|
127
|
+
"runtime": "node",
|
|
128
|
+
"package": "@inneranimalmedia/agentsam-sdk/identity",
|
|
129
|
+
"cli": "agentsam identity init",
|
|
130
|
+
"description": "Generate portable identity/auth application surfaces from SDK contracts.",
|
|
131
|
+
"deterministic": true,
|
|
132
|
+
"model_required": false,
|
|
133
|
+
"side_effects": "filesystem",
|
|
134
|
+
"status": "stable"
|
|
135
|
+
},
|
|
136
|
+
"scaffold.create": {
|
|
137
|
+
"id": "scaffold.create",
|
|
138
|
+
"kind": "capability",
|
|
139
|
+
"version": 1,
|
|
140
|
+
"domain": "app",
|
|
141
|
+
"runtime": "node",
|
|
142
|
+
"package": "@inneranimalmedia/agentsam-sdk",
|
|
143
|
+
"cli": "agentsam create <name> --preset <preset>",
|
|
144
|
+
"description": "Create a local-first project from a deterministic preset selection.",
|
|
145
|
+
"deterministic": true,
|
|
146
|
+
"model_required": false,
|
|
147
|
+
"side_effects": "filesystem",
|
|
148
|
+
"status": "stable"
|
|
149
|
+
},
|
|
150
|
+
"recon.pack": {
|
|
151
|
+
"id": "recon.pack",
|
|
152
|
+
"kind": "capability",
|
|
153
|
+
"version": 1,
|
|
154
|
+
"domain": "agent",
|
|
155
|
+
"runtime": "node+python",
|
|
156
|
+
"package": "@inneranimalmedia/agentsam-sdk/repository",
|
|
157
|
+
"cli": "agentsam recon pack",
|
|
158
|
+
"description": "Convert explicit evidence slices into bounded worker task packets.",
|
|
159
|
+
"deterministic": true,
|
|
160
|
+
"model_required": false,
|
|
161
|
+
"side_effects": "none",
|
|
162
|
+
"status": "stable"
|
|
163
|
+
},
|
|
164
|
+
"site.scrape": {
|
|
165
|
+
"id": "site.scrape",
|
|
166
|
+
"kind": "capability",
|
|
167
|
+
"version": 1,
|
|
168
|
+
"domain": "web",
|
|
169
|
+
"runtime": "python",
|
|
170
|
+
"package": "agentsam-site-scrape",
|
|
171
|
+
"cli": "python -m agentsam_site_scrape",
|
|
172
|
+
"description": "Crawl a bounded public site and prepare page/image assets for local or R2 ingest.",
|
|
173
|
+
"deterministic": true,
|
|
174
|
+
"model_required": false,
|
|
175
|
+
"side_effects": "network+filesystem",
|
|
176
|
+
"status": "stable"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.inneranimalmedia.com/agentsam/capabilities/repository-audit-input.schema.json",
|
|
4
|
+
"title": "repository.audit input",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"snapshot": { "type": "object" },
|
|
9
|
+
"focus": { "type": "array", "maxItems": 24, "items": { "type": "string" } },
|
|
10
|
+
"depth": { "enum": ["quick", "standard", "deep"], "default": "standard" },
|
|
11
|
+
"requestedSections": { "type": "array", "maxItems": 24, "items": { "type": "string" } },
|
|
12
|
+
"evidenceBudget": { "type": "integer", "minimum": 1000, "maximum": 64000, "default": 8000 }
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.inneranimalmedia.com/agentsam/capabilities/repository-audit.schema.json",
|
|
4
|
+
"title": "repository.audit result",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "primitive", "snapshot_id", "snapshot_content_hash", "generated_at", "summary", "packages", "binaries", "commands", "capabilities", "services", "protocols", "notable_combinations", "findings", "cleanup_candidates", "recommended_routes", "evidence_refs", "artifacts"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": 1 },
|
|
10
|
+
"primitive": { "const": "repository.audit" },
|
|
11
|
+
"snapshot_id": { "type": "string" },
|
|
12
|
+
"snapshot_content_hash": { "type": "string" },
|
|
13
|
+
"generated_at": { "type": "string" },
|
|
14
|
+
"summary": { "type": "string", "minLength": 1 },
|
|
15
|
+
"repository_map": {},
|
|
16
|
+
"file_tree": {},
|
|
17
|
+
"packages": { "type": "array" },
|
|
18
|
+
"binaries": { "type": "array" },
|
|
19
|
+
"commands": { "type": "array" },
|
|
20
|
+
"capabilities": { "type": "array" },
|
|
21
|
+
"services": { "type": "array" },
|
|
22
|
+
"protocols": { "type": "array" },
|
|
23
|
+
"notable_combinations": { "type": "array" },
|
|
24
|
+
"findings": { "type": "array" },
|
|
25
|
+
"cleanup_candidates": { "type": "array" },
|
|
26
|
+
"recommended_routes": { "type": "array" },
|
|
27
|
+
"evidence_refs": { "type": "array", "items": { "type": "string" } },
|
|
28
|
+
"artifacts": { "type": "array" }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.inneranimalmedia.com/agentsam/capabilities/repository-snapshot-input.schema.json",
|
|
4
|
+
"title": "repository.snapshot input",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"cwd": { "type": "string", "minLength": 1 },
|
|
9
|
+
"churnDays": { "type": "integer", "minimum": 1, "maximum": 3650, "default": 30 }
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.inneranimalmedia.com/agentsam/capabilities/repository-snapshot.schema.json",
|
|
4
|
+
"title": "repository.snapshot result",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schema_version", "capability", "snapshot_id", "created_at", "content_hash", "repository", "tree", "intelligence", "packages", "knowledge"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schema_version": { "const": 1 },
|
|
9
|
+
"capability": { "const": "repository.snapshot" },
|
|
10
|
+
"snapshot_id": { "type": "string", "pattern": "^rsnap_[a-f0-9]{24}$" },
|
|
11
|
+
"created_at": { "type": "string" },
|
|
12
|
+
"content_hash": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
|
|
13
|
+
"repository": { "type": "object" },
|
|
14
|
+
"tree": { "type": "object" },
|
|
15
|
+
"intelligence": { "type": "object" },
|
|
16
|
+
"packages": { "type": "array", "items": { "type": "object" } },
|
|
17
|
+
"knowledge": { "type": "object" },
|
|
18
|
+
"deploy": { "type": ["object", "null"] }
|
|
19
|
+
}
|
|
20
|
+
}
|