-
Notifications
You must be signed in to change notification settings - Fork 158
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add roadmap document to determine at a glance where we stand
- Loading branch information
Showing
1 changed file
with
220 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,220 @@ | ||
#+title: SDK Roadmap | ||
#+description: An org document that enlists the milestones and objectives of our SDK roadmap. | ||
|
||
* SDK Roadmap [0/0] | ||
** Objectives [0/4] | ||
- [ ] The Python SDK needs to be at feature parity with the JavaScript SDK. | ||
- [ ] The Go SDK needs to be at feature parity with the JavaScript SDK. | ||
- [ ] The Python Dotprompt library needs to be at feature parity with the JavaScript Dotprompt implementation. | ||
- [ ] The Go Dotprompt library needs to be at feature parity with the JavaScript Dotprompt implementation. | ||
** Specifications and Schemas [0/4] | ||
- [ ] dotprompt | ||
- [ ] helpers (based on yaml spec) | ||
- [ ] json | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] media | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] role | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] history | ||
- [ ] Create the spec yaml | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] section | ||
- [ ] Create the spec yaml | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] metadata.yaml | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] partials.yaml | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] picoschema.yaml | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] variables.yaml | ||
- [ ] Go | ||
- [ ] Python | ||
- [ ] genkit-schema converter | ||
- [ ] schema.py and tests | ||
- [ ] Candidate | ||
- [ ] CandidateError | ||
- [ ] DataPart | ||
- [ ] DocumentData | ||
- [ ] FinishReason | ||
- [ ] GenerateActionOptions | ||
- [ ] GenerateCommonConfig | ||
- [ ] GenerateRequest | ||
- [ ] GenerateResponse | ||
- [ ] GenerateResponseChunk | ||
- [ ] GenerationUsage | ||
- [ ] InstrmentationLibrary | ||
- [ ] Link | ||
- [ ] MediaPart | ||
- [ ] Message | ||
- [ ] ModelInfo | ||
- [ ] ModelRequest | ||
- [ ] ModelResponse | ||
- [ ] ModelResponseChunk | ||
- [ ] Part | ||
- [ ] Role | ||
- [ ] SpanContext | ||
- [ ] SpanData | ||
- [ ] SpanMetadata | ||
- [ ] SpanStatus | ||
- [ ] TextPart | ||
- [ ] TimeEvent | ||
- [ ] ToolDefinition | ||
- [ ] ToolRequest | ||
- [ ] ToolRequestPart | ||
- [ ] ToolResponse | ||
- [ ] ToolResponsePart | ||
- [ ] TraceData | ||
- [ ] reflection API [0/7] | ||
|
||
See: `reflectionApi.yaml` | ||
|
||
- [ ] GET /api/actions: Retrieves all runnable actions. | ||
- [ ] POST /api/runAction: Runs an action and returns the result. | ||
- [ ] GET /api/envs/{env}/traces: Retrieves all traces for a given environment (e.g. dev or prod) | ||
- [ ] GET /api/envs/{env}/traces/{traceId}: Retrieves traces for the given environment | ||
- [ ] GET /api/envs/{env}/flowStates: Retrieves all flow states for a given environment (e.g. dev or prod) | ||
- [ ] GET /api/envs/{env}/flowStates/{flowId}: Retrieves a flow state for the given ID | ||
- [ ] GET /api/__health: health check | ||
- [ ] generate API | ||
- [ ] | ||
** Plugins [0/9] | ||
- [ ] Design [0/2] | ||
- [ ] Proposal with example API | ||
- [ ] Design review | ||
- [ ] Chroma [0/4] | ||
- [ ] Plugin | ||
- [ ] Documentation | ||
- [ ] Tests | ||
- [ ] Sample | ||
- [ ] Dotprompt [0/0] | ||
- [ ] Firebase [0/4] | ||
- [ ] Plugin | ||
- [ ] Documentation | ||
- [ ] Tests | ||
- [ ] Sample | ||
- [ ] GoogleAI [0/4] | ||
- [ ] Plugin | ||
- [ ] Documentation | ||
- [ ] Tests | ||
- [ ] Sample | ||
- [ ] Ollama [0/4] | ||
- [ ] Plugin | ||
- [ ] Documentation | ||
- [ ] Tests | ||
- [ ] Sample | ||
- [ ] OpenAI [0/4] | ||
- [ ] Plugin | ||
- [ ] Documentation | ||
- [ ] Tests | ||
- [ ] Sample | ||
- [ ] Pinecone [0/4] | ||
- [ ] Plugin | ||
- [ ] Documentation | ||
- [ ] Tests | ||
- [ ] Sample | ||
- [ ] VertexAI [0/4] | ||
- [ ] Plugin | ||
- [ ] Documentation | ||
- [ ] Tests | ||
- [ ] Sample | ||
** Samples | ||
- [ ] Hello world | ||
- [ ] Basic Gemini | ||
- [ ] Context caching | ||
- [ ] Context caching2 | ||
- [ ] Custom evaluators | ||
- [ ] Docs Menu Basic | ||
- [ ] Docs Menu RAG | ||
- [ ] Flow sample 1 | ||
- [ ] Flow sample 2 | ||
- [ ] Prompt file | ||
- [ ] RAG | ||
- [ ] Vertex AI model garden | ||
- [ ] Vertex AI reranker | ||
- [ ] Vertex AI Vector Search | ||
** Server implementations [/] | ||
- [ ] multiprocessing server cluster [0/2] | ||
- [ ] reflection server in dev mode | ||
- [ ] production flows server | ||
** CI/CD/Dev workflow [2/6] | ||
- [-] Unit testing library | ||
- [ ] Go testify | ||
- [X] Python pytest | ||
- [X] Unit testing watcher | ||
- [X] pytest-watcher | ||
- [-] Coverage analysis | ||
- [X] pytest-cov | ||
- [ ] Go test coverage tool | ||
- [ ] Vulnerability analysis | ||
- [ ] Python | ||
- [ ] Go | ||
- [ ] License compatibility checks | ||
- [ ] Python | ||
- [ ] Go | ||
- [X] Automated license header check | ||
- [X] Python | ||
- [X] Go | ||
** Git Hooks [0/1] | ||
- [-] Pre-commit and pre-push hooks | ||
- [-] Build Code | ||
- [-] go build | ||
- [X] Genkit | ||
- [ ] Dotprompt | ||
- [X] build python distribution | ||
- [X] Genkit | ||
- [X] Dotprompt | ||
- [X] Distribution | ||
- [X] Genkit | ||
- [X] Dotprompt | ||
- [-] Documentation | ||
- [-] godoc | ||
- [X] Genkit | ||
- [ ] Dotprompt | ||
- [X] engdoc using mkdocs | ||
- [X] Genkit | ||
- [X] Dotprompt | ||
- [ ] Python API doc using mkdocstrings | ||
- [ ] Genkit | ||
- [ ] Dotprompt | ||
- [-] Test | ||
- [-] go test | ||
- [X] Genkit | ||
- [ ] Dotprompt | ||
- [X] pytest with coverage threshold | ||
- [X] Genkit | ||
- [X] Dotprompt | ||
- [X] Format | ||
- [-] Lint | ||
- [-] Python | ||
- [-] mypy static type checks | ||
- [X] dotprompt | ||
- [ ] genkit | ||
** Dependencies | ||
- [X] Handlebars | ||
- [X] handlebars-py (MIT License; feasibility test done) | ||
- [X] pybars3 (LGPL 3.0 License; cannot use) | ||
- [ ] JSON Schema | ||
- [ ] Go: | ||
- [ ] https://github.com/swaggest/jsonschema-go | ||
- [ ] https://github.com/xeipuuv/gojsonschema | ||
- [ ] https://github.com/santhosh-tekuri/jsonschema | ||
- [ ] https://github.com/qri-io/jsonschema | ||
- [ ] Picoschema | ||
- [ ] Go | ||
- [ ] https://github.com/jumonapp/picoschema | ||
** Release management | ||
- [ ] Semantic Versioning and tagging | ||
- [ ] PyPi project for dotprompt https://pypi.org/project/dotprompt/ | ||
- [ ] Acquire from current owner | ||
- [ ] PyPi project for genkit https://pypi.org/project/genkit/ | ||
- [ ] Acquire from current owner |