ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s

This commit is contained in:
2026-08-20 13:12:50 +00:00
commit b119135836
10275 changed files with 3284984 additions and 0 deletions
@@ -0,0 +1,15 @@
{
"generated_at": "2026-07-29T21:17:21.956016+00:00",
"files": [
{
"path": "protocol.json",
"bytes": 1924,
"sha256": "1826c3aa1c2ce0af96277e13adb237f4c37b005c8708a113159ed768c296fbc1"
},
{
"path": "summary.json",
"bytes": 3995,
"sha256": "3c8aa1272f9ddbb44ae9614af7183943c1bb39ea60d4ce0de21d923c3ee9cba3"
}
]
}
@@ -0,0 +1,55 @@
{
"experiment": "6-1",
"title": "Real event-driven mailbox workflow",
"authority": "book/chapter6.md:466",
"mail_provider": "Unipile Email API",
"listener": {
"mode": "polling",
"endpoint": "GET /api/v1/emails",
"event_channel": "unipile_mailbox_poll",
"queue": "FIFO by provider timestamp then email id"
},
"scenarios": [
{
"classification": "meeting_invitation",
"required_actions": [
"live_calendar_conflict_check",
"accept_or_decline_draft"
]
},
{
"classification": "customer_complaint",
"required_actions": [
"key_information_extraction",
"high_priority_notification"
]
},
{
"classification": "marketing",
"required_actions": [
"provider_archive_update",
"post_update_verification"
]
}
],
"official_schema_sources": [
"https://developer.unipile.com/reference/accountscontroller_listaccounts.md",
"https://developer.unipile.com/reference/mailscontroller_listmails.md",
"https://developer.unipile.com/reference/mailscontroller_getmail.md",
"https://developer.unipile.com/reference/mailscontroller_updatemail.md",
"https://developer.unipile.com/reference/folderscontroller_listfolders.md",
"https://developer.unipile.com/reference/calendarscontroller_listcalendars.md",
"https://developer.unipile.com/reference/calendarscontroller_listcalendareventsbycalendar.md",
"https://developer.unipile.com/docs/new-emails-webhook.md"
],
"acceptance": {
"no_local_or_mock_mailbox_substitute": true,
"three_real_inbound_email_objects": true,
"calendar_query_receipted": true,
"draft_artifact_hashed": true,
"high_priority_notification_delivered": true,
"marketing_email_archived_and_verified": true,
"identifiers_and_credentials_redacted": true,
"fail_closed_on_missing_or_invalid_credentials": true
}
}
@@ -0,0 +1,117 @@
{
"experiment": "6-1",
"campaign_id": "credential_probe_20260730T050900Z",
"generated_at": "2026-07-29T21:17:18.847328+00:00",
"provider": "unipile",
"base_url_sha256": "28b52f572e99947db7fa2192ba95435ed4d01404e53a40c2b4f6de2274513a9b",
"official_schema_receipts": [
{
"url": "https://developer.unipile.com/reference/accountscontroller_listaccounts.md",
"status": 200,
"bytes": 151069,
"sha256": "e63a180008549782b9b946734aea82bc2b91e50d12029f21617b1944e50368fd",
"retrieved_at": "2026-07-29T21:17:14.234772+00:00"
},
{
"url": "https://developer.unipile.com/reference/mailscontroller_listmails.md",
"status": 200,
"bytes": 102744,
"sha256": "6cefdb5ae883c8573b5c5d5b4cc3b6f2168909e224afed419209578ae7bf6b25",
"retrieved_at": "2026-07-29T21:17:14.881533+00:00"
},
{
"url": "https://developer.unipile.com/reference/mailscontroller_getmail.md",
"status": 200,
"bytes": 88581,
"sha256": "c3b5c98505a1dbb4433f67651796124dd3eb7b044a264581dc86cf31ae994d86",
"retrieved_at": "2026-07-29T21:17:15.567230+00:00"
},
{
"url": "https://developer.unipile.com/reference/mailscontroller_updatemail.md",
"status": 200,
"bytes": 16690,
"sha256": "26d1c3f2c6e0d75fb1445a220a90c701e95790ba33e31a0c89088c13ac393647",
"retrieved_at": "2026-07-29T21:17:16.643818+00:00"
},
{
"url": "https://developer.unipile.com/reference/folderscontroller_listfolders.md",
"status": 200,
"bytes": 22162,
"sha256": "d35d2042bd261314af6597ffdf9613d2e3df799e062e1f598708e07cdca1b957",
"retrieved_at": "2026-07-29T21:17:17.272871+00:00"
},
{
"url": "https://developer.unipile.com/reference/calendarscontroller_listcalendars.md",
"status": 200,
"bytes": 20671,
"sha256": "cf35a6a277b9390bf937dfe8300788c348999652903ee91ca07b2f9ff86cf8da",
"retrieved_at": "2026-07-29T21:17:17.902366+00:00"
},
{
"url": "https://developer.unipile.com/reference/calendarscontroller_listcalendareventsbycalendar.md",
"status": 200,
"bytes": 36444,
"sha256": "7f4b3414f9d4a78a23bf4a87aa3d82f05eea2e00b101063cc82694c8335d96e3",
"retrieved_at": "2026-07-29T21:17:18.521682+00:00"
},
{
"url": "https://developer.unipile.com/docs/new-emails-webhook.md",
"status": 200,
"bytes": 1729,
"sha256": "50c4808b875df5d71a3734ff4621b557d6fd40380e253cb690cc70d61148ee6a",
"retrieved_at": "2026-07-29T21:17:18.847210+00:00"
}
],
"alternate_auth_diagnostic": {
"method": "GET",
"path": "/api/v1/accounts",
"credential_scheme": "Authorization: Bearer <redacted>",
"status": 401,
"error_type": "errors/invalid_credentials",
"error_title": "Invalid credentials",
"response_sha256": "35feddea5acbb597bdd6395c36c393c077bf94090fb311652a85e10e464c6b59",
"latency_seconds": 1.57
},
"status": "blocked",
"blocker_or_error": {
"type": "UnipileAPIError",
"message": "GET /api/v1/accounts returned 401: errors/missing_credentials"
},
"credentials_present": {
"UNIPILE_DSN": true,
"UNIPILE_ACCESS_TOKEN": true
},
"api_calls": [
{
"method": "GET",
"path": "/api/v1/accounts",
"request": {
"params": {
"limit": 100
},
"json": null,
"multipart": null
},
"credential_scheme": "X-API-KEY",
"status": 401,
"success": false,
"latency_seconds": 1.522,
"response_sha256": "47c9318169e1bdccdcd71fb77189991e092db3344b06c1f59b8e1e426296babc",
"response_bytes": 80,
"response_shape": [
"status",
"title",
"type"
],
"error_type": "errors/missing_credentials",
"error_title": "Missing credentials"
}
],
"acceptance": {
"status": "failed",
"gates": {
"valid_unipile_credentials": false,
"real_mailbox_campaign_completed": false
}
}
}
@@ -0,0 +1,19 @@
{
"experiment": "6-1",
"campaign_id": "credential_probe_20260730T064500Z",
"generated_at": "2026-07-29T22:23:37.271474+00:00",
"status": "blocked",
"official_complete": false,
"files": [
{
"path": "protocol.json",
"bytes": 1924,
"sha256": "1826c3aa1c2ce0af96277e13adb237f4c37b005c8708a113159ed768c296fbc1"
},
{
"path": "summary.json",
"bytes": 4027,
"sha256": "413f8d00bf0d82fd4bf86913988f2b09907a9bc8b3bec2da2ffadab2f969f45c"
}
]
}
@@ -0,0 +1,55 @@
{
"experiment": "6-1",
"title": "Real event-driven mailbox workflow",
"authority": "book/chapter6.md:466",
"mail_provider": "Unipile Email API",
"listener": {
"mode": "polling",
"endpoint": "GET /api/v1/emails",
"event_channel": "unipile_mailbox_poll",
"queue": "FIFO by provider timestamp then email id"
},
"scenarios": [
{
"classification": "meeting_invitation",
"required_actions": [
"live_calendar_conflict_check",
"accept_or_decline_draft"
]
},
{
"classification": "customer_complaint",
"required_actions": [
"key_information_extraction",
"high_priority_notification"
]
},
{
"classification": "marketing",
"required_actions": [
"provider_archive_update",
"post_update_verification"
]
}
],
"official_schema_sources": [
"https://developer.unipile.com/reference/accountscontroller_listaccounts.md",
"https://developer.unipile.com/reference/mailscontroller_listmails.md",
"https://developer.unipile.com/reference/mailscontroller_getmail.md",
"https://developer.unipile.com/reference/mailscontroller_updatemail.md",
"https://developer.unipile.com/reference/folderscontroller_listfolders.md",
"https://developer.unipile.com/reference/calendarscontroller_listcalendars.md",
"https://developer.unipile.com/reference/calendarscontroller_listcalendareventsbycalendar.md",
"https://developer.unipile.com/docs/new-emails-webhook.md"
],
"acceptance": {
"no_local_or_mock_mailbox_substitute": true,
"three_real_inbound_email_objects": true,
"calendar_query_receipted": true,
"draft_artifact_hashed": true,
"high_priority_notification_delivered": true,
"marketing_email_archived_and_verified": true,
"identifiers_and_credentials_redacted": true,
"fail_closed_on_missing_or_invalid_credentials": true
}
}
@@ -0,0 +1,118 @@
{
"experiment": "6-1",
"campaign_id": "credential_probe_20260730T064500Z",
"generated_at": "2026-07-29T22:23:34.029339+00:00",
"provider": "unipile",
"base_url_sha256": "28b52f572e99947db7fa2192ba95435ed4d01404e53a40c2b4f6de2274513a9b",
"official_schema_receipts": [
{
"url": "https://developer.unipile.com/reference/accountscontroller_listaccounts.md",
"status": 200,
"bytes": 151069,
"sha256": "e63a180008549782b9b946734aea82bc2b91e50d12029f21617b1944e50368fd",
"retrieved_at": "2026-07-29T22:23:30.036928+00:00"
},
{
"url": "https://developer.unipile.com/reference/mailscontroller_listmails.md",
"status": 200,
"bytes": 102744,
"sha256": "6cefdb5ae883c8573b5c5d5b4cc3b6f2168909e224afed419209578ae7bf6b25",
"retrieved_at": "2026-07-29T22:23:30.697071+00:00"
},
{
"url": "https://developer.unipile.com/reference/mailscontroller_getmail.md",
"status": 200,
"bytes": 88581,
"sha256": "c3b5c98505a1dbb4433f67651796124dd3eb7b044a264581dc86cf31ae994d86",
"retrieved_at": "2026-07-29T22:23:31.325776+00:00"
},
{
"url": "https://developer.unipile.com/reference/mailscontroller_updatemail.md",
"status": 200,
"bytes": 16690,
"sha256": "26d1c3f2c6e0d75fb1445a220a90c701e95790ba33e31a0c89088c13ac393647",
"retrieved_at": "2026-07-29T22:23:31.902105+00:00"
},
{
"url": "https://developer.unipile.com/reference/folderscontroller_listfolders.md",
"status": 200,
"bytes": 22162,
"sha256": "d35d2042bd261314af6597ffdf9613d2e3df799e062e1f598708e07cdca1b957",
"retrieved_at": "2026-07-29T22:23:32.485289+00:00"
},
{
"url": "https://developer.unipile.com/reference/calendarscontroller_listcalendars.md",
"status": 200,
"bytes": 20671,
"sha256": "cf35a6a277b9390bf937dfe8300788c348999652903ee91ca07b2f9ff86cf8da",
"retrieved_at": "2026-07-29T22:23:33.169436+00:00"
},
{
"url": "https://developer.unipile.com/reference/calendarscontroller_listcalendareventsbycalendar.md",
"status": 200,
"bytes": 36444,
"sha256": "7f4b3414f9d4a78a23bf4a87aa3d82f05eea2e00b101063cc82694c8335d96e3",
"retrieved_at": "2026-07-29T22:23:33.710013+00:00"
},
{
"url": "https://developer.unipile.com/docs/new-emails-webhook.md",
"status": 200,
"bytes": 1729,
"sha256": "50c4808b875df5d71a3734ff4621b557d6fd40380e253cb690cc70d61148ee6a",
"retrieved_at": "2026-07-29T22:23:34.029079+00:00"
}
],
"alternate_auth_diagnostic": {
"method": "GET",
"path": "/api/v1/accounts",
"credential_scheme": "Authorization: Bearer <redacted>",
"status": 401,
"error_type": "errors/invalid_credentials",
"error_title": "Invalid credentials",
"response_sha256": "35feddea5acbb597bdd6395c36c393c077bf94090fb311652a85e10e464c6b59",
"latency_seconds": 1.568
},
"status": "blocked",
"official_complete": false,
"blocker_or_error": {
"type": "UnipileAPIError",
"message": "GET /api/v1/accounts returned 401: errors/missing_credentials"
},
"credentials_present": {
"UNIPILE_DSN": true,
"UNIPILE_ACCESS_TOKEN": true
},
"api_calls": [
{
"method": "GET",
"path": "/api/v1/accounts",
"request": {
"params": {
"limit": 100
},
"json": null,
"multipart": null
},
"credential_scheme": "X-API-KEY",
"status": 401,
"success": false,
"latency_seconds": 1.656,
"response_sha256": "47c9318169e1bdccdcd71fb77189991e092db3344b06c1f59b8e1e426296babc",
"response_bytes": 80,
"response_shape": [
"status",
"title",
"type"
],
"error_type": "errors/missing_credentials",
"error_title": "Missing credentials"
}
],
"acceptance": {
"status": "blocked",
"gates": {
"valid_unipile_credentials": false,
"real_mailbox_campaign_completed": false
}
}
}
@@ -0,0 +1,8 @@
{
"experiment": "6-1",
"campaign_id": "credential_probe_20260730T064500Z",
"status": "blocked",
"official_complete": false,
"manifest": "validation/experiment_6_1/credential_probe_20260730T064500Z/manifest.json",
"manifest_sha256": "3f689dfee915503f61ca30e9b590e24c8950496ca90fbf365def83805e877d0a"
}