* feat: independent versioning for integrations
- Add per-integration changelog pages at /changelog/integrations/<name>
- Move main changelog to changelog/index.md (URL unchanged)
- Add --integration flag to generate-changelog for LLM-based per-integration changelog generation
- Add scripts/release-integration.sh <name> <version> for cutting integration releases
- Add .github/workflows/release-integration.yml to publish on integrations/** tags
- Remove integrations from main release.sh and release.yml cycle
* fix: add agno and hermes integration docs to version-0.4 for production build
* chore: apply ruff formatting to generate_changelog.py
* feat: add 4-tab code parity across all documentation examples
Every code snippet Tabs block now has Python, Node.js, CLI, and Go variants.
Raw HTTP/curl tabs replaced with proper SDK calls.
New example files:
- Go: retain.go, recall.go, reflect.go, memory-banks.go, directives.go,
mental-models.go, documents.go, main-methods.go
- Shell: memory-banks.sh, directives.sh, mental-models.sh
- Node.js: mental-models.mjs
Extended example files with missing sections:
- recall.mjs/sh: world/experience/observation types, token-budget, all tag modes
- reflect.sh: reflect-with-params, reflect-disposition, reflect-sources, reflect-with-tags
- reflect.mjs: reflect-with-tags, fixed reflect-sources API usage
- retain.mjs/sh: retain-conversation, retain-batch, retain-files-batch
SDK/CLI additions:
- TypeScript: getMentalModelHistory method
- CLI recall: --tags, --tags-match flags
- CLI reflect: --tags, --tags-match, --include-facts flags
- CLI directive update: --is-active flag
- CLI bank set-config: --retain-mission, --retain-extraction-mode,
--observations-mission, --reflect-mission, --disposition-* flags
Build validation:
- scripts/check-code-parity.mjs validates 4-tab parity across all MDX files
- Integrated into npm run build — fails if any Tabs block is missing a variant
* fix: fix doc examples for Go, Node.js, CLI + add mental model with-id examples
- Fix Go Budget constants: BUDGET_HIGH/LOW/MID → HIGH/LOW/MID
- Fix Go documents.go: ListDocuments returns []map[string]interface{}, use map access
- Fix Go retain.go: use correct relative path for sample.pdf
- Fix Node.js createMentalModel: use positional args (name, sourceQuery) not object
- Add CLI 'history' subcommand for mental models (api.rs, main.rs, mental_model.rs)
- Rebuild TypeScript/Python clients to support id param in createMentalModel
- Add create-mental-model-with-id examples across all 4 languages and docs
* fix: move id param to end of create_mental_model signature for backwards compat
89 lines
3.2 KiB
Bash
Executable file
89 lines
3.2 KiB
Bash
Executable file
#!/bin/bash
|
|
# Retain API examples for Hindsight CLI
|
|
# Run: bash examples/api/retain.sh
|
|
|
|
set -e
|
|
|
|
HINDSIGHT_URL="${HINDSIGHT_API_URL:-http://localhost:8888}"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
SAMPLE_FILE="$SCRIPT_DIR/sample.pdf"
|
|
|
|
# =============================================================================
|
|
# Setup (not shown in docs)
|
|
# =============================================================================
|
|
# Create placeholder files for file upload examples
|
|
echo "%PDF-1.4 sample document" > report.pdf
|
|
mkdir -p documents
|
|
cp report.pdf documents/report.pdf
|
|
|
|
# =============================================================================
|
|
# Doc Examples
|
|
# =============================================================================
|
|
|
|
# [docs:retain-basic]
|
|
hindsight memory retain my-bank "Alice works at Google as a software engineer"
|
|
# [/docs:retain-basic]
|
|
|
|
|
|
# [docs:retain-conversation]
|
|
# Retain an entire conversation as a single document.
|
|
CONVERSATION="Alice (2024-03-15T09:00:00Z): Hi Bob! Did you end up going to the doctor last week?
|
|
Bob (2024-03-15T09:01:00Z): Yes, finally. Turns out I have a mild peanut allergy.
|
|
Alice (2024-03-15T09:02:00Z): Oh no! Are you okay?
|
|
Bob (2024-03-15T09:03:00Z): Yeah, nothing serious. Just need to carry an antihistamine.
|
|
Alice (2024-03-15T09:04:00Z): Good to know. We'll avoid peanuts at the team lunch."
|
|
|
|
hindsight memory retain my-bank "$CONVERSATION" \
|
|
--context "team chat" \
|
|
--doc-id "chat-2024-03-15-alice-bob"
|
|
# [/docs:retain-conversation]
|
|
|
|
|
|
# [docs:retain-with-context]
|
|
hindsight memory retain my-bank "Alice got promoted" \
|
|
--context "career update"
|
|
# [/docs:retain-with-context]
|
|
|
|
|
|
# [docs:retain-batch]
|
|
# Batch ingestion via individual retain calls (CLI processes items one at a time)
|
|
hindsight memory retain my-bank "Alice works at Google" \
|
|
--context "career" --doc-id "conversation_001_msg_1"
|
|
hindsight memory retain my-bank "Bob is a data scientist at Meta" \
|
|
--context "career" --doc-id "conversation_001_msg_2"
|
|
hindsight memory retain my-bank "Alice and Bob are friends" \
|
|
--context "relationship" --doc-id "conversation_001_msg_3"
|
|
# [/docs:retain-batch]
|
|
|
|
|
|
# [docs:retain-async]
|
|
hindsight memory retain my-bank "Meeting notes" --async
|
|
# [/docs:retain-async]
|
|
|
|
|
|
# [docs:retain-files]
|
|
# Upload a single file (PDF, DOCX, PPTX, XLSX, images, audio, and more)
|
|
hindsight memory retain-files my-bank "$SAMPLE_FILE"
|
|
|
|
# Upload a directory of files
|
|
hindsight memory retain-files my-bank "$SCRIPT_DIR/"
|
|
|
|
# Queue files for background processing (returns immediately)
|
|
hindsight memory retain-files my-bank "$SCRIPT_DIR/" --async
|
|
# [/docs:retain-files]
|
|
|
|
|
|
# [docs:retain-files-curl]
|
|
# Via HTTP API (multipart/form-data)
|
|
curl -X POST "${HINDSIGHT_URL}/v1/default/banks/my-bank/files/retain" \
|
|
-F "files=@${SAMPLE_FILE};type=application/octet-stream" \
|
|
-F "request={\"files_metadata\": [{\"context\": \"quarterly report\"}]}"
|
|
# [/docs:retain-files-curl]
|
|
|
|
|
|
# =============================================================================
|
|
# Cleanup (not shown in docs)
|
|
# =============================================================================
|
|
curl -s -X DELETE "${HINDSIGHT_URL}/v1/default/banks/my-bank" > /dev/null
|
|
|
|
echo "retain.sh: All examples passed"
|