@speakspec/astro 0.0.1 → 0.0.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 +28 -0
- package/dist/runtime/version.d.ts +1 -1
- package/dist/runtime/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,6 +56,34 @@ export const POST = aidpWebhookRoute()
|
|
|
56
56
|
> (treats it as private). Use `api/aidp/...` (no leading underscore).
|
|
57
57
|
> The path you register with the SpeakSpec dashboard must match.
|
|
58
58
|
|
|
59
|
+
## Content inline vs directory (v0.4+)
|
|
60
|
+
|
|
61
|
+
AIDP v0.4 introduces per-type content strategy. The entity owner can decide, per content type, whether content appears:
|
|
62
|
+
|
|
63
|
+
- **Inline** (`inline`, default): full content envelopes appear inside `/.well-known/aidp.json`'s `content` array
|
|
64
|
+
- **Directory** (`directory`): the type is omitted from `aidp.json.content`; AI agents fetch `/.well-known/aidp/content/directory.json` for the index, and `/.well-known/aidp/content/{id}.json` for individual envelopes
|
|
65
|
+
|
|
66
|
+
The `content_index` field in `aidp.json` declares which types are inlined vs indexed:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"content_index": {
|
|
71
|
+
"url": "https://example.com/.well-known/aidp/content/directory.json",
|
|
72
|
+
"types_inlined": ["faq", "service"],
|
|
73
|
+
"types_indexed": ["article", "event"],
|
|
74
|
+
"total_by_type": { "article": 1240, "event": 387, "faq": 18, "service": 6 },
|
|
75
|
+
"pinned_count": 3,
|
|
76
|
+
"updated_at": "2026-05-12T10:00:00Z"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The SDK proxies the upstream response transparently—no client code change is needed when an entity owner switches strategy. AI consumers should check `content_index.types_indexed` and pull `directory.json` when needed.
|
|
82
|
+
|
|
83
|
+
### Pinned content
|
|
84
|
+
|
|
85
|
+
Any content can be marked `pinned: true`. Pinned content always appears in `aidp.json.content` regardless of the type's strategy, sorted first.
|
|
86
|
+
|
|
59
87
|
## Wire the bot-detection middleware
|
|
60
88
|
|
|
61
89
|
```ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION: "0.0.
|
|
1
|
+
export declare const SDK_VERSION: "0.0.2";
|
|
2
2
|
export declare const SDK_USER_AGENT: string;
|
package/dist/runtime/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = "0.0.
|
|
1
|
+
export const SDK_VERSION = "0.0.2";
|
|
2
2
|
export const SDK_USER_AGENT = `@speakspec/astro/${SDK_VERSION}`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@speakspec/astro",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "AIDP 0.3 publishing channel for Astro 5 — exposes /.well-known/aidp.json and friends, fetches signed content + pointer payloads from SpeakSpec, receives §8.10 cache-invalidation webhooks.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|