osagent 0.2.76 → 0.2.78
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/cli.js +54 -14
- package/package.json +1 -1
package/cli.js
CHANGED
|
@@ -133087,7 +133087,7 @@ var init_geminiContentGenerator = __esm({
|
|
|
133087
133087
|
}
|
|
133088
133088
|
models;
|
|
133089
133089
|
constructor(contentGeneratorConfig, config2) {
|
|
133090
|
-
const version3 = "0.2.
|
|
133090
|
+
const version3 = "0.2.77";
|
|
133091
133091
|
const userAgent2 = `OSAgent/${version3} (${process.platform}; ${process.arch})`;
|
|
133092
133092
|
let headers = {
|
|
133093
133093
|
"User-Agent": userAgent2
|
|
@@ -153007,7 +153007,7 @@ function createContentGeneratorConfig(config2, authType, generationConfig) {
|
|
|
153007
153007
|
};
|
|
153008
153008
|
}
|
|
153009
153009
|
async function createContentGenerator(config2, gcConfig, sessionId2, isInitialAuth) {
|
|
153010
|
-
const version3 = "0.2.
|
|
153010
|
+
const version3 = "0.2.77";
|
|
153011
153011
|
const userAgent2 = `OSAgent/${version3} (${process.platform}; ${process.arch})`;
|
|
153012
153012
|
const baseHeaders = {
|
|
153013
153013
|
"User-Agent": userAgent2
|
|
@@ -252001,16 +252001,48 @@ I've found some existing telemetry code. Let me mark the first todo as in_progre
|
|
|
252001
252001
|
- Technology stack details
|
|
252002
252002
|
- Testing and build commands
|
|
252003
252003
|
|
|
252004
|
-
3. **If OSAGENT.md does not exist:**
|
|
252004
|
+
3. **If OSAGENT.md does not exist:** Ask the user if you should create it, then initialize:
|
|
252005
|
+
- First, explore the project (package.json, README, src/) to understand it
|
|
252006
|
+
- Ask: "I don't see an OSAGENT.md file. Would you like me to create one to track project context?"
|
|
252007
|
+
- If yes, use '${ToolNames.WRITE_FILE}' to create \`OSAGENT.md\` with this template:
|
|
252008
|
+
\`\`\`markdown
|
|
252009
|
+
# Project: [Name from package.json or folder]
|
|
252005
252010
|
|
|
252006
|
-
|
|
252011
|
+
## Description
|
|
252012
|
+
[Brief description of what this project does]
|
|
252013
|
+
|
|
252014
|
+
## Tech Stack
|
|
252015
|
+
- [Framework/language]
|
|
252016
|
+
- [Key dependencies]
|
|
252017
|
+
|
|
252018
|
+
## Project Structure
|
|
252019
|
+
- [Key directories and their purpose]
|
|
252020
|
+
|
|
252021
|
+
## Conventions
|
|
252022
|
+
- [Coding patterns to follow]
|
|
252023
|
+
- [Naming conventions]
|
|
252024
|
+
|
|
252025
|
+
## Commands
|
|
252026
|
+
- Build: \`[command]\`
|
|
252027
|
+
- Test: \`[command]\`
|
|
252028
|
+
- Dev: \`[command]\`
|
|
252029
|
+
|
|
252030
|
+
## Important Notes
|
|
252031
|
+
- [Any restrictions or guidelines]
|
|
252032
|
+
\`\`\`
|
|
252033
|
+
- NEVER overwrite an existing OSAGENT.md - only create if truly missing
|
|
252034
|
+
|
|
252035
|
+
4. **Also check for .osagent/ directory:** If it doesn't exist and user approved OSAGENT.md creation:
|
|
252036
|
+
- Use '${ToolNames.SHELL}' to run \`mkdir -p .osagent\`
|
|
252037
|
+
- This directory stores project-specific configuration
|
|
252038
|
+
- You can create \`.osagent/settings.json\` for tool-specific settings if needed
|
|
252007
252039
|
|
|
252008
252040
|
**This step is NON-NEGOTIABLE. Do NOT skip it even for simple requests like "hello world". The project context file may contain critical information about what is and isn't allowed.**
|
|
252009
252041
|
|
|
252010
252042
|
## Software Engineering Tasks
|
|
252011
252043
|
When requested to perform tasks like fixing bugs, adding features, refactoring, or explaining code, follow this iterative approach:
|
|
252012
|
-
- **
|
|
252013
|
-
- **
|
|
252044
|
+
- **Plan:** After understanding the user's request, create an initial plan based on your existing knowledge and any immediately obvious context. Use the '${ToolNames.TODO_WRITE}' tool to capture this rough plan for complex or multi-step work. Don't wait for complete understanding - start with what you know.
|
|
252045
|
+
- **Check Context:** Follow the "Project Context Discovery" steps above. Check for \`OSAGENT.md\` in the project root. This file may contain critical project guidelines that should inform your implementation. Read it before making changes.
|
|
252014
252046
|
- **Implement:** Begin implementing the plan while gathering additional context as needed. Use '${ToolNames.GREP}', '${ToolNames.GLOB}', '${ToolNames.READ_FILE}', and '${ToolNames.READ_MANY_FILES}' tools strategically when you encounter specific unknowns during implementation. Use the available tools (e.g., '${ToolNames.EDIT}', '${ToolNames.WRITE_FILE}' '${ToolNames.SHELL}' ...) to act on the plan, strictly adhering to the project's established conventions (detailed under 'Core Mandates').
|
|
252015
252047
|
- **Adapt:** As you discover new information or encounter obstacles, update your plan and todos accordingly. Mark todos as in_progress when starting and completed when finishing each task. Add new todos if the scope expands. Refine your approach based on what you learn.
|
|
252016
252048
|
- **Verify (Tests):** If applicable and feasible, verify the changes using the project's testing procedures. Identify the correct test commands and frameworks by examining 'README' files, build/package configuration (e.g., 'package.json'), or existing test execution patterns. NEVER assume standard test commands.
|
|
@@ -252026,8 +252058,6 @@ IMPORTANT: Always use the ${ToolNames.TODO_WRITE} tool to plan and track tasks t
|
|
|
252026
252058
|
|
|
252027
252059
|
**Goal:** Autonomously implement and deliver complete, scalable foundations - from simple prototypes to full Operating Systems. Think beyond single applications: help users build ecosystems that can grow with their needs.
|
|
252028
252060
|
|
|
252029
|
-
0. **FIRST: Check Project Context:** Before starting ANY work, follow the "Project Context Discovery" steps above. Check for \`OSAGENT.md\` in the project root. If it exists, it may contain critical project guidelines, architecture decisions, or restrictions that you MUST follow.
|
|
252030
|
-
|
|
252031
252061
|
1. **Understand Requirements:** Analyze the user's request to identify:
|
|
252032
252062
|
- **Scope:** Is this a single app, or a foundation/OS for a larger system?
|
|
252033
252063
|
- **Use Case:** Business operations, content creation, development tooling, automation, etc.
|
|
@@ -252059,9 +252089,19 @@ IMPORTANT: Always use the ${ToolNames.TODO_WRITE} tool to plan and track tasks t
|
|
|
252059
252089
|
- **3d Games:** HTML/CSS/JavaScript with Three.js.
|
|
252060
252090
|
- **2d Games:** HTML/CSS/JavaScript.
|
|
252061
252091
|
3. **User Approval:** Obtain user approval for the proposed plan.
|
|
252062
|
-
4. **
|
|
252063
|
-
|
|
252064
|
-
|
|
252092
|
+
4. **Project Setup:** Before implementing, set up the project foundation:
|
|
252093
|
+
- Create the project directory if it doesn't exist (e.g., \`mkdir project-name\`)
|
|
252094
|
+
- Create \`OSAGENT.md\` in the project root with:
|
|
252095
|
+
- Project name and description
|
|
252096
|
+
- Tech stack and architecture decisions
|
|
252097
|
+
- Key conventions (naming, file structure, patterns)
|
|
252098
|
+
- Build and test commands
|
|
252099
|
+
- Any restrictions or guidelines
|
|
252100
|
+
- Initialize the project using appropriate tools (\`npm init\`, \`npx create-next-app\`, etc.)
|
|
252101
|
+
- This ensures future sessions have context about the project.
|
|
252102
|
+
5. **Implementation:** Use the '${ToolNames.TODO_WRITE}' tool to convert the approved plan into a structured todo list with specific, actionable tasks, then autonomously implement each task utilizing all available tools. When starting ensure you scaffold the application using '${ToolNames.SHELL}' for commands like 'npm init', 'npx create-react-app'. Aim for full scope completion. Proactively create or source necessary placeholder assets (e.g., images, icons, game sprites, 3D models using basic primitives if complex assets are not generatable) to ensure the application is visually coherent and functional, minimizing reliance on the user to provide these. If the model can generate simple assets (e.g., a uniformly colored square sprite, a simple 3D cube), it should do so. Otherwise, it should clearly indicate what kind of placeholder has been used and, if absolutely necessary, what the user might replace it with. Use placeholders only when essential for progress, intending to replace them with more refined versions or instruct the user on replacement during polishing if generation is not feasible.
|
|
252103
|
+
6. **Verify:** Review work against the original request, the approved plan. Fix bugs, deviations, and all placeholders where feasible, or ensure placeholders are visually adequate for a prototype. Ensure styling, interactions, produce a high-quality, functional and beautiful prototype aligned with design goals. Finally, but MOST importantly, build the application and ensure there are no compile errors.
|
|
252104
|
+
7. **Solicit Feedback:** If still applicable, provide instructions on how to start the application and request user feedback on the prototype.
|
|
252065
252105
|
|
|
252066
252106
|
# Operational Guidelines
|
|
252067
252107
|
|
|
@@ -340515,7 +340555,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
340515
340555
|
// packages/cli/src/utils/version.ts
|
|
340516
340556
|
async function getCliVersion() {
|
|
340517
340557
|
const pkgJson = await getPackageJson();
|
|
340518
|
-
return "0.2.
|
|
340558
|
+
return "0.2.77";
|
|
340519
340559
|
}
|
|
340520
340560
|
__name(getCliVersion, "getCliVersion");
|
|
340521
340561
|
|
|
@@ -344716,8 +344756,8 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
|
|
|
344716
344756
|
|
|
344717
344757
|
// packages/cli/src/generated/git-commit.ts
|
|
344718
344758
|
init_esbuild_shims();
|
|
344719
|
-
var GIT_COMMIT_INFO2 = "
|
|
344720
|
-
var CLI_VERSION2 = "0.2.
|
|
344759
|
+
var GIT_COMMIT_INFO2 = "bc5e5a7";
|
|
344760
|
+
var CLI_VERSION2 = "0.2.77";
|
|
344721
344761
|
|
|
344722
344762
|
// packages/cli/src/utils/systemInfo.ts
|
|
344723
344763
|
async function getNpmVersion() {
|