Skip to content

Commit 31a228c

Browse files
authored
Merge pull request #1 from mikekavouras/input-arg-vs-builder
Pass input instead of *builder
2 parents 51fe2f7 + 0c60077 commit 31a228c

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

builder.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ func newBuilder[T any](t promptType, input string) (*builder[T], error) {
2626
var pb promptBuilder
2727
switch t {
2828
case promptUserRequest:
29-
pb = newUserRequest[T](b)
29+
pb = newUserRequest[T](input)
3030
case promptProgram:
31-
pb = newProgram[T](b)
31+
pb = newProgram[T](input)
3232
default:
3333
return nil, fmt.Errorf("unknown prompt type %s", t)
3434
}

program.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ indentation and no properties with the value undefined:`
2424
)
2525

2626
type program[T any] struct {
27-
builder *builder[T]
27+
input string
2828
built string
2929
}
3030

31-
func newProgram[T any](b *builder[T]) *program[T] {
32-
return &program[T]{builder: b}
31+
func newProgram[T any](i string) *program[T] {
32+
return &program[T]{input: i}
3333
}
3434

3535
func (b *program[T]) string() (string, error) {
@@ -61,7 +61,7 @@ func (b *program[T]) string() (string, error) {
6161
func (b *program[T]) prompt() string {
6262
var sb strings.Builder
6363
sb.WriteString(newline("The following is a user request:"))
64-
sb.WriteString(newline(b.builder.input))
64+
sb.WriteString(newline(b.input))
6565
sb.WriteString(newline(programPromptInstructions))
6666

6767
return sb.String()

typechat_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import (
77
)
88

99
type mockModelClient struct {
10-
response []byte
10+
response string
1111
err error
1212
}
1313

14-
func (m mockModelClient) Do(ctx context.Context, prompt string) ([]byte, error) {
14+
func (m mockModelClient) Do(ctx context.Context, prompt string) (response string, err error) {
1515
return m.response, m.err
1616
}
1717

@@ -23,7 +23,7 @@ func TestTypeChat(t *testing.T) {
2323
t.Run("it should generate the prompt and return the result", func(t *testing.T) {
2424
ctx := context.Background()
2525
m := mockModelClient{
26-
response: []byte(`{"sentiment": "positive"}`),
26+
response: `{"sentiment": "positive"}`,
2727
}
2828
p := NewPrompt[Result](m, "That game was awesome!")
2929
result, err := p.Execute(ctx)
@@ -72,10 +72,10 @@ func TestTypeChat(t *testing.T) {
7272
t.Errorf("Expected no error, got %v", err)
7373
}
7474
m := mockModelClient{
75-
response: b,
75+
response: string(b),
7676
}
7777
p := NewPrompt[API](m, "")
78-
result, err := p.ExecuteProgram(ctx)
78+
result, err := p.CreateProgram(ctx)
7979
if err != nil {
8080
t.Errorf("Expected no error, got %v", err)
8181
}

user_request.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ indentation and no properties with the value undefined:`
1515
)
1616

1717
type userRequest[T any] struct {
18-
builder *builder[T]
18+
input string
1919
built string
2020
}
2121

22-
func newUserRequest[T any](b *builder[T]) *userRequest[T] {
23-
return &userRequest[T]{builder: b}
22+
func newUserRequest[T any](i string) *userRequest[T] {
23+
return &userRequest[T]{input: i}
2424
}
2525

2626
func (b *userRequest[T]) string() (string, error) {
@@ -45,7 +45,7 @@ func (b *userRequest[T]) string() (string, error) {
4545
func (b *userRequest[T]) prompt() string {
4646
var sb strings.Builder
4747
sb.WriteString(newline("The following is a user request:"))
48-
sb.WriteString(newline(b.builder.input))
48+
sb.WriteString(newline(b.input))
4949
sb.WriteString(newline(userRequestPromptInstructions))
5050

5151
return sb.String()

0 commit comments

Comments
 (0)