@amigo-ai/sdk 1.0.0-alpha.4 → 1.0.0-rc.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/LICENSE +1 -1
- package/README.md +107 -52
- package/assets/readme/amigo-banner.png +0 -0
- package/assets/readme/classic-ts-architecture.png +0 -0
- package/assets/readme/classic-ts-architecture.svg +102 -0
- package/dist/index.cjs +1255 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.mjs +1228 -0
- package/dist/index.mjs.map +7 -0
- package/dist/types/core/branded-types.d.ts +73 -0
- package/dist/types/core/errors.d.ts +17 -13
- package/dist/types/core/openapi-client.d.ts +3 -2
- package/dist/types/core/rate-limit.d.ts +23 -0
- package/dist/types/core/retry.d.ts +17 -0
- package/dist/types/generated/api-types.d.ts +5196 -2843
- package/dist/types/index.d.ts +25 -3
- package/dist/types/resources/agent.d.ts +62 -0
- package/dist/types/resources/context-graph.d.ts +65 -0
- package/dist/types/resources/conversation.d.ts +120 -14
- package/dist/types/resources/organization.d.ts +12 -58
- package/dist/types/resources/services.d.ts +44 -9
- package/dist/types/resources/user.d.ts +53 -0
- package/dist/types/webhooks/index.d.ts +3 -0
- package/dist/types/webhooks/parse.d.ts +38 -0
- package/dist/types/webhooks/types.d.ts +30 -0
- package/package.json +49 -9
- package/dist/index.js +0 -626
- package/dist/index.js.map +0 -7
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,26 +1,72 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="./assets/readme/amigo-banner.png" alt="Amigo banner" width="100%" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
[](https://codecov.io/gh/amigo-ai/amigo-typescript-sdk)
|
|
5
|
-
[](https://www.npmjs.com/package/@amigo-ai/sdk)
|
|
6
|
-
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
<h1 align="center">@amigo-ai/sdk</h1>
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
<p align="center">Official TypeScript SDK for the classic Amigo API.</p>
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://docs.amigo.ai">Product Docs</a>
|
|
11
|
+
·
|
|
12
|
+
<a href="https://docs.amigo.ai/developer-guide">Developer Guide</a>
|
|
13
|
+
·
|
|
14
|
+
<a href="https://amigo-ai.github.io/amigo-typescript-sdk/">API Reference</a>
|
|
15
|
+
·
|
|
16
|
+
<a href="https://github.com/amigo-ai/amigo-typescript-sdk/tree/main/examples">Examples</a>
|
|
17
|
+
·
|
|
18
|
+
<a href="https://github.com/amigo-ai/amigo-typescript-sdk/blob/main/CHANGELOG.md">Changelog</a>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
<p align="center">
|
|
22
|
+
<a href="https://www.npmjs.com/package/@amigo-ai/sdk"><img src="https://img.shields.io/npm/v/%40amigo-ai%2Fsdk?logo=npm" alt="npm version" /></a>
|
|
23
|
+
<a href="https://github.com/amigo-ai/amigo-typescript-sdk/actions/workflows/test.yml"><img src="https://github.com/amigo-ai/amigo-typescript-sdk/actions/workflows/test.yml/badge.svg" alt="CI" /></a>
|
|
24
|
+
<a href="https://codecov.io/gh/amigo-ai/amigo-typescript-sdk"><img src="https://codecov.io/gh/amigo-ai/amigo-typescript-sdk/graph/badge.svg?token=PQU5JBU941" alt="codecov" /></a>
|
|
25
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License" /></a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
Typed from the committed classic OpenAPI snapshot, shipped as ESM and CommonJS, and used by current org-scoped Amigo integrations.
|
|
29
|
+
|
|
30
|
+
## Classic API Context
|
|
31
|
+
|
|
32
|
+
The classic SDK is the typed client boundary between your application and the org-scoped Amigo API. It remains the right fit for current integrations that depend on the classic resource model while platform-native coverage expands.
|
|
33
|
+
|
|
34
|
+

|
|
35
|
+
|
|
36
|
+
## Product Status
|
|
37
|
+
|
|
38
|
+
`@amigo-ai/sdk` remains the supported TypeScript client for the classic Amigo API.
|
|
39
|
+
|
|
40
|
+
The Platform API is the long-term home for new workspace-scoped capabilities, but classic customers are not being asked to make an abrupt rewrite. As equivalent platform surfaces become available, Amigo will publish a migration path and upgrade guidance before recommending a move.
|
|
11
41
|
|
|
12
|
-
|
|
42
|
+
## Choose The Right SDK
|
|
43
|
+
|
|
44
|
+
| If you need | Use |
|
|
45
|
+
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
|
46
|
+
| The current org-scoped Amigo API used by existing integrations | `@amigo-ai/sdk` |
|
|
47
|
+
| New workspace-scoped Platform API integrations | [`@amigo-ai/platform-sdk`](https://github.com/amigo-ai/amigo-platform-typescript-sdk) |
|
|
48
|
+
|
|
49
|
+
## Documentation
|
|
50
|
+
|
|
51
|
+
| Need | Best entry point |
|
|
52
|
+
| --------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
53
|
+
| Product overview and deployment context | [docs.amigo.ai](https://docs.amigo.ai/) |
|
|
54
|
+
| Integration guidance and developer docs | [Developer Guide](https://docs.amigo.ai/developer-guide) |
|
|
55
|
+
| Generated API reference | [amigo-ai.github.io/amigo-typescript-sdk](https://amigo-ai.github.io/amigo-typescript-sdk/) |
|
|
56
|
+
| Runnable examples | [examples/](https://github.com/amigo-ai/amigo-typescript-sdk/tree/main/examples) |
|
|
57
|
+
| Release history | [CHANGELOG.md](https://github.com/amigo-ai/amigo-typescript-sdk/blob/main/CHANGELOG.md) |
|
|
58
|
+
|
|
59
|
+
## Installation
|
|
13
60
|
|
|
14
61
|
```bash
|
|
15
|
-
npm install @amigo/
|
|
62
|
+
npm install @amigo-ai/sdk
|
|
16
63
|
```
|
|
17
64
|
|
|
18
65
|
## Quick Start
|
|
19
66
|
|
|
20
67
|
```typescript
|
|
21
|
-
import { AmigoClient } from '@amigo/
|
|
68
|
+
import { AmigoClient } from '@amigo-ai/sdk'
|
|
22
69
|
|
|
23
|
-
// Initialize the client
|
|
24
70
|
const client = new AmigoClient({
|
|
25
71
|
apiKey: 'your-api-key',
|
|
26
72
|
apiKeyId: 'your-api-key-id',
|
|
@@ -28,56 +74,74 @@ const client = new AmigoClient({
|
|
|
28
74
|
orgId: 'your-organization-id',
|
|
29
75
|
})
|
|
30
76
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
console.log('Organization:', organization)
|
|
36
|
-
} catch (error) {
|
|
37
|
-
console.error('Error:', error)
|
|
38
|
-
}
|
|
39
|
-
}
|
|
77
|
+
const conversations = await client.conversations.getConversations({
|
|
78
|
+
limit: 10,
|
|
79
|
+
sort_by: ['-created_at'],
|
|
80
|
+
})
|
|
40
81
|
|
|
41
|
-
|
|
82
|
+
console.log(conversations.conversations.map(conversation => conversation.id))
|
|
42
83
|
```
|
|
43
84
|
|
|
44
85
|
## Configuration
|
|
45
86
|
|
|
46
|
-
|
|
87
|
+
| Option | Type | Required | Description |
|
|
88
|
+
| ---------- | -------------- | -------- | ------------------------------------------------------------- |
|
|
89
|
+
| `apiKey` | `string` | Yes | API key from the Amigo dashboard |
|
|
90
|
+
| `apiKeyId` | `string` | Yes | API key ID paired with `apiKey` |
|
|
91
|
+
| `userId` | `string` | Yes | User ID on whose behalf the request is made |
|
|
92
|
+
| `orgId` | `string` | Yes | Organization ID for the classic API |
|
|
93
|
+
| `baseUrl` | `string` | No | Override the API base URL. Defaults to `https://api.amigo.ai` |
|
|
94
|
+
| `retry` | `RetryOptions` | No | Retry policy overrides for transient HTTP failures |
|
|
47
95
|
|
|
48
|
-
|
|
49
|
-
| ---------- | ------ | -------- | -------------------------------------------------------------- |
|
|
50
|
-
| `apiKey` | string | ✅ | API key from Amigo dashboard |
|
|
51
|
-
| `apiKeyId` | string | ✅ | API key ID from Amigo dashboard |
|
|
52
|
-
| `userId` | string | ✅ | User ID on whose behalf the request is made |
|
|
53
|
-
| `orgId` | string | ✅ | Your organization ID |
|
|
54
|
-
| `baseUrl` | string | ❌ | Base URL of the Amigo API (defaults to `https://api.amigo.ai`) |
|
|
96
|
+
### Runtime Requirements
|
|
55
97
|
|
|
56
|
-
|
|
98
|
+
The SDK supports Node `18+` and is tested on active Node releases in CI. It relies on web-standard primitives such as `fetch`, `AbortController`, `URL`, and `TextEncoder`.
|
|
57
99
|
|
|
58
|
-
|
|
59
|
-
2. **Organization ID**: Found in your Amigo dashboard URL or organization settings
|
|
60
|
-
3. **User ID**: The ID of the user you want to impersonate for API calls
|
|
100
|
+
## Generated Types
|
|
61
101
|
|
|
62
|
-
|
|
102
|
+
The package re-exports the generated OpenAPI types so application code can type directly against the API contract:
|
|
63
103
|
|
|
64
|
-
|
|
104
|
+
```typescript
|
|
105
|
+
import type { components, operations, paths } from '@amigo-ai/sdk'
|
|
65
106
|
|
|
66
|
-
|
|
107
|
+
type Conversation = components['schemas']['ConversationInstance']
|
|
108
|
+
type GetConversationsQuery = operations['get-conversations']['parameters']['query']
|
|
109
|
+
```
|
|
67
110
|
|
|
68
|
-
|
|
111
|
+
Public builds are generated from the committed [`specs/openapi-baseline.json`](./specs/openapi-baseline.json) snapshot in this repo so type output stays deterministic across machines and CI runs. When you need to refresh that snapshot, run:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm run openapi:sync
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Retries
|
|
69
118
|
|
|
70
|
-
The
|
|
119
|
+
The HTTP client retries transient failures with sensible defaults:
|
|
120
|
+
|
|
121
|
+
- Max attempts: `3`
|
|
122
|
+
- Backoff base: `250ms` with full jitter
|
|
123
|
+
- Max delay per attempt: `30s`
|
|
124
|
+
- Statuses: `408`, `429`, `500`, `502`, `503`, `504`
|
|
125
|
+
- Methods: `GET`, plus `POST` on `429` when `Retry-After` is present
|
|
126
|
+
|
|
127
|
+
## Error Handling
|
|
71
128
|
|
|
72
129
|
```typescript
|
|
73
|
-
import { AmigoClient,
|
|
130
|
+
import { AmigoClient, AuthenticationError, NetworkError } from '@amigo-ai/sdk'
|
|
74
131
|
|
|
75
132
|
try {
|
|
76
|
-
const
|
|
133
|
+
const client = new AmigoClient({
|
|
134
|
+
apiKey: 'your-api-key',
|
|
135
|
+
apiKeyId: 'your-api-key-id',
|
|
136
|
+
userId: 'user-id',
|
|
137
|
+
orgId: 'your-organization-id',
|
|
138
|
+
})
|
|
139
|
+
|
|
140
|
+
await client.organizations.getOrganization()
|
|
77
141
|
} catch (error) {
|
|
78
|
-
if (error instanceof
|
|
142
|
+
if (error instanceof AuthenticationError) {
|
|
79
143
|
console.error('Authentication failed:', error.message)
|
|
80
|
-
} else if (error instanceof
|
|
144
|
+
} else if (error instanceof NetworkError) {
|
|
81
145
|
console.error('Network error:', error.message)
|
|
82
146
|
} else {
|
|
83
147
|
console.error('Unexpected error:', error)
|
|
@@ -85,15 +149,6 @@ try {
|
|
|
85
149
|
}
|
|
86
150
|
```
|
|
87
151
|
|
|
88
|
-
## Documentation
|
|
89
|
-
|
|
90
|
-
- **Developer Guide**: [https://docs.amigo.ai/developer-guide](https://docs.amigo.ai/developer-guide)
|
|
91
|
-
- **API Reference**: [https://docs.amigo.ai/api-reference](https://docs.amigo.ai/api-reference)
|
|
92
|
-
|
|
93
|
-
## License
|
|
94
|
-
|
|
95
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
96
|
-
|
|
97
152
|
## Support
|
|
98
153
|
|
|
99
|
-
|
|
154
|
+
Use the [issue tracker](https://github.com/amigo-ai/amigo-typescript-sdk/issues) for bugs and feature requests. For responsible disclosure, see [SECURITY.md](https://github.com/amigo-ai/amigo-typescript-sdk/blob/main/SECURITY.md).
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="520" viewBox="0 0 1200 520">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0" y1="0" x2="0.6" y2="1">
|
|
4
|
+
<stop offset="0%" stop-color="#083241"/>
|
|
5
|
+
<stop offset="100%" stop-color="#051A24"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<linearGradient id="strokeGrad" x1="0" y1="0" x2="1" y2="1">
|
|
8
|
+
<stop offset="0%" stop-color="white" stop-opacity="0.1"/>
|
|
9
|
+
<stop offset="100%" stop-color="#999" stop-opacity="0.04"/>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="strokeGradSubtle" x1="0" y1="0" x2="1" y2="1">
|
|
12
|
+
<stop offset="0%" stop-color="white" stop-opacity="0.08"/>
|
|
13
|
+
<stop offset="100%" stop-color="#999" stop-opacity="0.03"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<marker id="arrow" viewBox="0 0 10 7" refX="9" refY="3.5" markerWidth="8" markerHeight="6" orient="auto-start-reverse">
|
|
16
|
+
<path d="M 0 0.5 L 9 3.5 L 0 6.5" fill="none" stroke="white" stroke-width="1" opacity="0.2"/>
|
|
17
|
+
</marker>
|
|
18
|
+
</defs>
|
|
19
|
+
|
|
20
|
+
<rect width="1200" height="520" fill="url(#bg)"/>
|
|
21
|
+
|
|
22
|
+
<rect x="32" y="32" width="720" height="240" rx="10" fill="white" fill-opacity="0.03" stroke="url(#strokeGrad)" stroke-width="0.75"/>
|
|
23
|
+
<text x="60" y="60" font-family="'Diatype Mono', 'SF Mono', monospace" font-size="13" font-weight="500" fill="white" fill-opacity="0.55" letter-spacing="2">CLASSIC API</text>
|
|
24
|
+
|
|
25
|
+
<rect x="52" y="78" width="154" height="60" rx="8" fill="white" fill-opacity="0.1" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
26
|
+
<text x="129" y="103" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Conversations</text>
|
|
27
|
+
<text x="129" y="121" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">create + interact</text>
|
|
28
|
+
|
|
29
|
+
<rect x="222" y="78" width="154" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
30
|
+
<text x="299" y="103" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Services</text>
|
|
31
|
+
<text x="299" y="121" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">release-routed entrypoints</text>
|
|
32
|
+
|
|
33
|
+
<rect x="392" y="78" width="154" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
34
|
+
<text x="469" y="103" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Organizations</text>
|
|
35
|
+
<text x="469" y="121" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">org settings + branding</text>
|
|
36
|
+
|
|
37
|
+
<rect x="562" y="78" width="170" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
38
|
+
<text x="647" y="103" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Users</text>
|
|
39
|
+
<text x="647" y="121" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">identity + preferences</text>
|
|
40
|
+
|
|
41
|
+
<rect x="52" y="152" width="154" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
42
|
+
<text x="129" y="177" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Agents</text>
|
|
43
|
+
<text x="129" y="195" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">assistant behavior</text>
|
|
44
|
+
|
|
45
|
+
<rect x="222" y="152" width="154" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
46
|
+
<text x="299" y="177" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Context Graphs</text>
|
|
47
|
+
<text x="299" y="195" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">memory + retrieval</text>
|
|
48
|
+
|
|
49
|
+
<rect x="392" y="152" width="154" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
50
|
+
<text x="469" y="177" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Webhooks</text>
|
|
51
|
+
<text x="469" y="195" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">signed outbound delivery</text>
|
|
52
|
+
|
|
53
|
+
<rect x="562" y="152" width="170" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
54
|
+
<text x="647" y="177" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Streaming</text>
|
|
55
|
+
<text x="647" y="195" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">NDJSON + WebSocket events</text>
|
|
56
|
+
|
|
57
|
+
<text x="392" y="248" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="white" fill-opacity="0.5">requests + events</text>
|
|
58
|
+
<line x1="392" y1="254" x2="392" y2="290" stroke="white" stroke-width="1" stroke-opacity="0.15" marker-end="url(#arrow)"/>
|
|
59
|
+
|
|
60
|
+
<rect x="776" y="32" width="392" height="240" rx="10" fill="white" fill-opacity="0.03" stroke="url(#strokeGrad)" stroke-width="0.75"/>
|
|
61
|
+
<text x="804" y="60" font-family="'Diatype Mono', 'SF Mono', monospace" font-size="13" font-weight="500" fill="white" fill-opacity="0.55" letter-spacing="2">PLATFORM SYSTEMS</text>
|
|
62
|
+
|
|
63
|
+
<rect x="796" y="78" width="166" height="60" rx="8" fill="white" fill-opacity="0.1" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
64
|
+
<text x="879" y="103" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Agent Engine</text>
|
|
65
|
+
<text x="879" y="121" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">runtime orchestration</text>
|
|
66
|
+
|
|
67
|
+
<rect x="982" y="78" width="166" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
68
|
+
<text x="1065" y="103" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Connector Runner</text>
|
|
69
|
+
<text x="1065" y="121" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">EHR, FHIR, CRM sync</text>
|
|
70
|
+
|
|
71
|
+
<rect x="796" y="152" width="166" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
72
|
+
<text x="879" y="177" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Metric Store</text>
|
|
73
|
+
<text x="879" y="195" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">analytics + evaluation</text>
|
|
74
|
+
|
|
75
|
+
<rect x="982" y="152" width="166" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
76
|
+
<text x="1065" y="177" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Operators</text>
|
|
77
|
+
<text x="1065" y="195" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">monitoring + escalation</text>
|
|
78
|
+
|
|
79
|
+
<text x="972" y="248" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="white" fill-opacity="0.5">backing services</text>
|
|
80
|
+
<line x1="972" y1="254" x2="972" y2="290" stroke="white" stroke-width="1" stroke-opacity="0.15" marker-end="url(#arrow)"/>
|
|
81
|
+
|
|
82
|
+
<rect x="32" y="300" width="1136" height="170" rx="10" fill="white" fill-opacity="0.05" stroke="url(#strokeGrad)" stroke-width="0.75"/>
|
|
83
|
+
<text x="60" y="328" font-family="'Diatype Mono', 'SF Mono', monospace" font-size="13" font-weight="500" fill="white" fill-opacity="0.55" letter-spacing="2">WORLD MODEL</text>
|
|
84
|
+
|
|
85
|
+
<rect x="52" y="346" width="256" height="60" rx="8" fill="white" fill-opacity="0.1" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
86
|
+
<text x="180" y="371" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Event Store</text>
|
|
87
|
+
<text x="180" y="389" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">confidence-scored facts</text>
|
|
88
|
+
|
|
89
|
+
<rect x="328" y="346" width="256" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
90
|
+
<text x="456" y="371" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Entity Projections</text>
|
|
91
|
+
<text x="456" y="389" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">current org + user state</text>
|
|
92
|
+
|
|
93
|
+
<rect x="604" y="346" width="256" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
94
|
+
<text x="732" y="371" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Intelligence Projections</text>
|
|
95
|
+
<text x="732" y="389" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">memory, tasks, summaries</text>
|
|
96
|
+
|
|
97
|
+
<rect x="880" y="346" width="268" height="60" rx="8" fill="white" fill-opacity="0.08" stroke="url(#strokeGradSubtle)" stroke-width="0.75"/>
|
|
98
|
+
<text x="1014" y="371" text-anchor="middle" font-family="'Flecha S', Georgia, serif" font-size="16" fill="white" fill-opacity="0.95">Vector Search</text>
|
|
99
|
+
<text x="1014" y="389" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" fill="white" fill-opacity="0.7">semantic retrieval</text>
|
|
100
|
+
|
|
101
|
+
<text x="600" y="492" text-anchor="middle" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="white" fill-opacity="0.55">Classic SDK traffic lands on the same platform systems and world model foundation that future migration paths build on.</text>
|
|
102
|
+
</svg>
|