Skip to content

Commit

Permalink
chore: devops upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
oktoshi committed Dec 12, 2024
1 parent 66b4f11 commit ceb6e49
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 24 deletions.
14 changes: 7 additions & 7 deletions docs/community/Streams/12-2024/2024-12-10.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
sidebar_position: 4
title: "AI Agent Dev School Part 4"
description: "AI Pizza: Hacking Eliza for Domino's Delivery (plus TEE Deep Dive)"
description: "AI Pizza: Hacking OKai for Domino's Delivery (plus TEE Deep Dive)"
---

# AI Agent Dev School Part 4

**AI Pizza: Hacking Eliza for Domino's Delivery (plus TEE Deep Dive)**
**AI Pizza: Hacking OKai for Domino's Delivery (plus TEE Deep Dive)**

Date: 2024-12-10
YouTube Link: https://www.youtube.com/watch?v=6I9e9pJprDI
Expand All @@ -16,7 +16,7 @@ YouTube Link: https://www.youtube.com/watch?v=6I9e9pJprDI
Part 1: Trusted Execution Environments (TEEs) with Agent Joshua
- **00:00:09** - Stream starts, initial setup issues.
- **00:01:58** - Intro to Trusted Execution Environments (TEEs).
- **00:08:03** - Agent Joshua begins explaining TEEs and the Eliza plugin.
- **00:08:03** - Agent Joshua begins explaining TEEs and the OKai plugin.
- **00:19:15** - Deeper dive into remote attestation.
- **00:24:50** - Discussion of derived keys.
- **00:37:00** - Deploying to a real TEE, Phala Network's TEE cloud.
Expand All @@ -26,7 +26,7 @@ Part 2: Building a Domino's pizza ordering agent
- **01:04:37** - Transition to building a Domino's pizza ordering agent.
- **01:14:20** - Discussion of the pizza ordering agent’s order flow and state machine.
- **01:22:07** - Using Claude to generate a state machine diagram.
- **01:32:17** - Creating the Domino's plugin in Eliza.
- **01:32:17** - Creating the Domino's plugin in OKai.
- **01:54:15** - Working on the pizza order provider.
- **02:16:46** - Pizza provider code completed.
- **02:28:50** - Discussion of caching customer and order data.
Expand All @@ -39,11 +39,11 @@ Part 2: Building a Domino's pizza ordering agent

## Summary

This is a livestream titled "AI Agent Dev School Part 4" from the ai16z project, featuring Shaw. The stream is divided into two main parts: a technical discussion on Trusted Execution Environments (TEEs) and a coding session where Shaw attempts to build a pizza-ordering agent using the Domino's API.
This is a livestream titled "AI Agent Dev School Part 4" from the okcashpro project, featuring Shaw. The stream is divided into two main parts: a technical discussion on Trusted Execution Environments (TEEs) and a coding session where Shaw attempts to build a pizza-ordering agent using the Domino's API.

**Part 1: Trusted Execution Environments (TEEs) with Agent Joshua**

This segment begins with Shaw introducing the concept of TEEs and their importance for running autonomous agents securely. He emphasizes the need to protect private keys and ensure that code execution is tamper-proof. Joshua from the Phala Network is brought on to explain TEEs in more detail and demonstrate how to use the TEE plugin he built for Eliza.
This segment begins with Shaw introducing the concept of TEEs and their importance for running autonomous agents securely. He emphasizes the need to protect private keys and ensure that code execution is tamper-proof. Joshua from the Phala Network is brought on to explain TEEs in more detail and demonstrate how to use the TEE plugin he built for OKai.

* **Key Concepts:**
* **Trusted Execution Environments (TEEs):** Secure areas within a processor that isolate code and data, protecting them from unauthorized access and tampering.
Expand All @@ -53,7 +53,7 @@ This segment begins with Shaw introducing the concept of TEEs and their importan
* **Derived Key Provider:** A component that generates cryptographic keys based on a secret salt, ensuring that private keys are not exposed to humans.

* **Demonstration:**
* Joshua walks through the process of setting up and deploying an Eliza agent in a TEE simulator, demonstrating how to generate remote attestations and derive keys.
* Joshua walks through the process of setting up and deploying an OKai agent in a TEE simulator, demonstrating how to generate remote attestations and derive keys.
* He shows how to use the remote attestation explorer to verify the authenticity of the agent running inside the TEE.
* He explains how to build a Docker image of the agent and deploy it to the Phala Network's TEE cloud solution.

Expand Down
6 changes: 3 additions & 3 deletions docs/community/components/Contributions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ const Contributions = ({
const fetchCommits = async (page: number) => {
try {
const commitResponse = await fetch(
`https://api.github.com/repos/ai16z/eliza/commits?author=${contributor.login}&page=${page}`,
`https://api.github.com/repos/okcashpro/okai/commits?author=${contributor.login}&page=${page}`,
{
method: "GET",
headers: {
Expand Down Expand Up @@ -109,7 +109,7 @@ const Contributions = ({
const fetchPRs = async (page: number) => {
try {
const prResponse = await fetch(
`https://api.github.com/search/issues?q=type:pr+author:${contributor.login}+repo:ai16z/eliza&page=${page}`,
`https://api.github.com/search/issues?q=type:pr+author:${contributor.login}+repo:okcashpro/okai&page=${page}`,
{
method: "GET",
headers: {
Expand Down Expand Up @@ -144,7 +144,7 @@ const Contributions = ({
const fetchIssues = async (page: number) => {
try {
const issueResponse = await fetch(
`https://api.github.com/search/issues?q=type:issue+author:${contributor.login}+repo:ai16z/eliza&page=${page}`,
`https://api.github.com/search/issues?q=type:issue+author:${contributor.login}+repo:okcashpro/okai&page=${page}`,
{
method: "GET",
headers: {
Expand Down
4 changes: 2 additions & 2 deletions docs/community/components/Contributors.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ const Contributors: React.FC = () => {
loadingRef.current = true;
try {
const response = await fetch(
`https://api.github.com/repos/ai16z/eliza/contributors?per_page=${GITHUB_PAGE_LIMIT}&page=${page}`,
`https://api.github.com/repos/okcashpro/okai/contributors?per_page=${GITHUB_PAGE_LIMIT}&page=${page}`,
{
method: "GET",
headers: {
Expand Down Expand Up @@ -101,7 +101,7 @@ const Contributors: React.FC = () => {
const fetchActivitySummaries = async () => {
try {
const response = await fetch(
"https://ai16z.github.io/data/contributors.json",
"https://okcashpro.github.io/data/contributors.json",
);
if (!response.ok) {
throw new Error(
Expand Down
4 changes: 2 additions & 2 deletions packages/client-twitter/src/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ export class ClientBase extends EventEmitter {
}

async fetchFeedTimeline(count: number): Promise<string> {
elizaLogger.debug("fetching home timeline");
okaiLogger.debug("fetching home timeline");
const homeTimeline = await this.twitterClient.fetchHomeTimeline(count, []);
return homeTimeline
.filter(tweet => tweet.text || tweet.legacy?.full_text)
Expand All @@ -289,7 +289,7 @@ export class ClientBase extends EventEmitter {
}

async fetchTimelineForActions(count: number): Promise<Tweet[]> {
elizaLogger.debug("fetching timeline for actions");
okaiLogger.debug("fetching timeline for actions");
const homeTimeline = await this.twitterClient.fetchHomeTimeline(count, []);

return homeTimeline.map(tweet => ({
Expand Down
10 changes: 5 additions & 5 deletions packages/client-twitter/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ class TwitterManager {

if (enableSearch) {
// this searches topics from character file
elizaLogger.warn('Twitter/X client running in a mode that:')
elizaLogger.warn('1. violates consent of random users')
elizaLogger.warn('2. burns your rate limit')
elizaLogger.warn('3. can get your account banned')
elizaLogger.warn('use at your own risk')
okaiLogger.warn('Twitter/X client running in a mode that:')
okaiLogger.warn('1. violates consent of random users')
okaiLogger.warn('2. burns your rate limit')
okaiLogger.warn('3. can get your account banned')
okaiLogger.warn('use at your own risk')
this.search = new TwitterSearchClient(this.client, runtime); // don't start the search client by default
}
this.interaction = new TwitterInteractionClient(this.client, runtime);
Expand Down
8 changes: 4 additions & 4 deletions packages/core/src/generation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1522,20 +1522,20 @@ export async function generateTweetActions({
console.debug("Parsed tweet actions:", actions);
return actions;
} else {
elizaLogger.debug("generateTweetActions no valid response");
okaiLogger.debug("generateTweetActions no valid response");
}
} catch (error) {
elizaLogger.error("Error in generateTweetActions:", error);
okaiLogger.error("Error in generateTweetActions:", error);
if (
error instanceof TypeError &&
error.message.includes("queueTextCompletion")
) {
elizaLogger.error(
okaiLogger.error(
"TypeError: Cannot read properties of null (reading 'queueTextCompletion')"
);
}
}
elizaLogger.log(`Retrying in ${retryDelay}ms...`);
okaiLogger.log(`Retrying in ${retryDelay}ms...`);
await new Promise((resolve) => setTimeout(resolve, retryDelay));
retryDelay *= 2;
}
Expand Down
2 changes: 1 addition & 1 deletion tests/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Integration tests

This directory contains smoke and integration tests for Eliza project.
This directory contains smoke and integration tests for OKai project.

## Smoke tests
- Should always be run on a freshly cloned project (i.e. no local changes)
Expand Down

0 comments on commit ceb6e49

Please sign in to comment.