gravity-cli 0.7.2__tar.gz → 0.7.3__tar.gz

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.
Files changed (134) hide show
  1. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/PKG-INFO +2 -2
  2. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/pyproject.toml +1 -1
  3. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/pyproject.toml +2 -2
  4. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/CHANGELOG.md +4 -0
  5. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/push.py +3 -1
  6. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_build_push.py +17 -0
  7. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/uv.lock +2 -2
  8. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/.env.example +0 -0
  9. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/.github/workflows/ci.yml +0 -0
  10. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/.github/workflows/release.yml +0 -0
  11. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/.gitignore +0 -0
  12. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/AGENT_STANDARD.md +0 -0
  13. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/LICENSE +0 -0
  14. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/NOTICE +0 -0
  15. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/README.md +0 -0
  16. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/RELEASING.md +0 -0
  17. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/TEMPLATES.md +0 -0
  18. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/LICENSE +0 -0
  19. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/NOTICE +0 -0
  20. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/README.md +0 -0
  21. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/__init__.py +0 -0
  22. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/__main__.py +0 -0
  23. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/catalog.py +0 -0
  24. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/catalog.yaml +0 -0
  25. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/catalog_imported.yaml +0 -0
  26. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/contract.py +0 -0
  27. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/cron.py +0 -0
  28. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/errors.py +0 -0
  29. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/export.py +0 -0
  30. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/gen_catalog.py +0 -0
  31. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/manifest.py +0 -0
  32. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/rules.py +0 -0
  33. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/rules_cases.json +0 -0
  34. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/source_scan.py +0 -0
  35. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/gravity_schema/validation.py +0 -0
  36. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/schema/manifest.schema.json +0 -0
  37. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/conftest.py +0 -0
  38. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_actions_memory.py +0 -0
  39. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_catalog_parity.py +0 -0
  40. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_cron.py +0 -0
  41. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_errors.py +0 -0
  42. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_json_schema.py +0 -0
  43. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_kind_outputs.py +0 -0
  44. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_manifest.py +0 -0
  45. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_rules.py +0 -0
  46. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_slots.py +0 -0
  47. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_source_scan.py +0 -0
  48. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/packages/gravity-schema/tests/test_validation.py +0 -0
  49. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/BUILDER_GUIDE.md +0 -0
  50. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/__init__.py +0 -0
  51. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/__main__.py +0 -0
  52. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/_runner_script.py +0 -0
  53. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/api.py +0 -0
  54. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/changelog.py +0 -0
  55. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/cli.py +0 -0
  56. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/__init__.py +0 -0
  57. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/adapt.py +0 -0
  58. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/build.py +0 -0
  59. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/changelog.py +0 -0
  60. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/connect.py +0 -0
  61. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/dev.py +0 -0
  62. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/docs.py +0 -0
  63. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/guide.py +0 -0
  64. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/init.py +0 -0
  65. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/login.py +0 -0
  66. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/memory.py +0 -0
  67. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/run.py +0 -0
  68. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/runs.py +0 -0
  69. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/schedule.py +0 -0
  70. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/tools.py +0 -0
  71. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/update.py +0 -0
  72. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/commands/validate.py +0 -0
  73. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/config.py +0 -0
  74. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/dev.py +0 -0
  75. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/dev_page/index.html +0 -0
  76. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/docs/Gravity.agent.md +0 -0
  77. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/docs/problem-to-agent.md +0 -0
  78. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/inputs.py +0 -0
  79. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/localrun.py +0 -0
  80. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/manifest.py +0 -0
  81. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/project.py +0 -0
  82. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/chat/.gitignore +0 -0
  83. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/chat/manifest.yaml +0 -0
  84. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/chat/requirements.txt +0 -0
  85. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/chat/src/agent.py +0 -0
  86. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/deepagent/.gitignore +0 -0
  87. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/deepagent/manifest.yaml +0 -0
  88. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/deepagent/requirements.txt +0 -0
  89. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/deepagent/src/agent.py +0 -0
  90. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/minimal/.gitignore +0 -0
  91. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/minimal/manifest.yaml +0 -0
  92. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/minimal/requirements.txt +0 -0
  93. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/minimal/src/agent.py +0 -0
  94. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/.gitignore +0 -0
  95. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/manifest.yaml +0 -0
  96. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/requirements.txt +0 -0
  97. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/src/agent.py +0 -0
  98. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/src/gateway.py +0 -0
  99. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/src/nodes/agent.py +0 -0
  100. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/src/prompts.py +0 -0
  101. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/templates/structured/src/state.py +0 -0
  102. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/timeline.py +0 -0
  103. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/ui.py +0 -0
  104. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/updater.py +0 -0
  105. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/src/gravity_cli/workspace.py +0 -0
  106. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/starter/manifest.yaml +0 -0
  107. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/starter/requirements.txt +0 -0
  108. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/starter/src/agent.py +0 -0
  109. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/starter/src/summary.py +0 -0
  110. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/starter/tests/test_summary.py +0 -0
  111. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/conftest.py +0 -0
  112. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_adapt.py +0 -0
  113. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_agent_guide.py +0 -0
  114. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_agents.py +0 -0
  115. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_api.py +0 -0
  116. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_changelog.py +0 -0
  117. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_connect.py +0 -0
  118. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_dev.py +0 -0
  119. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_gateway_token.py +0 -0
  120. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_inputs_memory.py +0 -0
  121. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_localrun.py +0 -0
  122. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_manifest_integration.py +0 -0
  123. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_run.py +0 -0
  124. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_runs.py +0 -0
  125. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_schedule.py +0 -0
  126. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_session.py +0 -0
  127. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_templates.py +0 -0
  128. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_timeline.py +0 -0
  129. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_tools.py +0 -0
  130. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_ui.py +0 -0
  131. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_updater.py +0 -0
  132. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_validate.py +0 -0
  133. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_welcome.py +0 -0
  134. {gravity_cli-0.7.2 → gravity_cli-0.7.3}/tests/test_workspace.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: gravity-cli
3
- Version: 0.7.2
3
+ Version: 0.7.3
4
4
  Summary: gravity cli — init, run, and push python agents to the Gravity marketplace
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
7
7
  License-File: NOTICE
8
8
  Requires-Python: >=3.12
9
- Requires-Dist: gravity-schema==0.7.2
9
+ Requires-Dist: gravity-schema==0.7.3
10
10
  Requires-Dist: httpx>=0.27.0
11
11
  Requires-Dist: keyring>=25.0.0
12
12
  Requires-Dist: python-dotenv>=1.0.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "gravity-schema"
3
- version = "0.7.2"
3
+ version = "0.7.3"
4
4
  description = "Gravity agent manifest contract — models, validation, and JSON Schema export"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "gravity-cli"
3
- version = "0.7.2"
3
+ version = "0.7.3"
4
4
  description = "gravity cli — init, run, and push python agents to the Gravity marketplace"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
7
7
  license-files = ["LICENSE", "NOTICE"]
8
8
  requires-python = ">=3.12"
9
9
  dependencies = [
10
- "gravity-schema==0.7.2", # released in lockstep: always the same version as this package
10
+ "gravity-schema==0.7.3", # released in lockstep: always the same version as this package
11
11
  "typer>=0.15.0",
12
12
  "httpx>=0.27.0",
13
13
  "rich>=13.9.0",
@@ -4,6 +4,10 @@ Shown by `gravity update` and `gravity changelog`, and after an update. Each rel
4
4
  then one bullet per change: `- new|improved|fixed: A one-line headline. The detail behind it.`
5
5
  Write it for a builder, not for a maintainer. `tests/test_changelog.py` fails a release that has no entry.
6
6
 
7
+ ## 0.7.3 - 2026-10-23
8
+
9
+ - fixed: gravity push fits bigger agents. The manifest travels in a 12 KB request header and every unset field went up as a null, about 100 bytes per input and action; they are now left out, so an agent with a full form and many actions uploads.
10
+
7
11
  ## 0.7.2 - 2026-10-23
8
12
 
9
13
  - new: Google Forms tools. forms.create, forms.update, forms.publish_settings, forms.get and forms.list_responses build a form in the person's own Google account, open it, close it at a deadline and read the responses. The API cannot make file-upload questions, so ask for a link instead.
@@ -50,7 +50,9 @@ def push_command(
50
50
  ui.ok("Build is current", f"{zip_path.name} · {ui.size(len(zip_bytes))} · sha256 {zip_sha256[:12]}")
51
51
 
52
52
  with ui.working("Uploading"):
53
- result = api.push_agent(manifest.model_dump(mode="json"), zip_bytes, zip_sha256)
53
+ # Unset fields are left out: as nulls they cost about 100 bytes per input and action against the 12 KB header,
54
+ # and the platform reads a missing field the same way.
55
+ result = api.push_agent(manifest.model_dump(mode="json", exclude_none=True), zip_bytes, zip_sha256)
54
56
  name, version = result["name"], result["version"]
55
57
  if result["status"] == "failed": # an unchanged re-push of a failed version: the platform does not rebuild it
56
58
  v = api.get(f"/api/cli/agents/{name}/versions/{version}")
@@ -147,6 +147,23 @@ def test_push_sends_exactly_the_built_zip(project: Path, fake_push):
147
147
  assert sent_sha == hashlib.sha256(sent_bytes).hexdigest()
148
148
 
149
149
 
150
+ def test_push_leaves_unset_fields_out_of_the_manifest_header(project: Path, fake_push):
151
+ """Nulls cost header bytes (12 KB limit) and the platform treats a missing field as unset."""
152
+ build_command(project, skip_validate=True)
153
+ push_command(project)
154
+ manifest = fake_push[0][0]
155
+
156
+ def nulls(node, path=""):
157
+ if isinstance(node, dict):
158
+ return [p for k, v in node.items() for p in ([f"{path}.{k}"] if v is None else nulls(v, f"{path}.{k}"))]
159
+ if isinstance(node, list):
160
+ return [p for i, v in enumerate(node) for p in nulls(v, f"{path}[{i}]")]
161
+ return []
162
+
163
+ assert nulls(manifest) == []
164
+ assert manifest["name"] == "demo" and "inputs" in manifest
165
+
166
+
150
167
  def test_push_refuses_a_zip_over_the_cap(project: Path, fake_push, monkeypatch):
151
168
  """The control plane drops the socket at 30 MB, which httpx reports as 'Can't reach Gravity'."""
152
169
  build_command(project, skip_validate=True)
@@ -164,7 +164,7 @@ wheels = [
164
164
 
165
165
  [[package]]
166
166
  name = "gravity-cli"
167
- version = "0.7.2"
167
+ version = "0.7.3"
168
168
  source = { editable = "." }
169
169
  dependencies = [
170
170
  { name = "gravity-schema" },
@@ -201,7 +201,7 @@ dev = [
201
201
 
202
202
  [[package]]
203
203
  name = "gravity-schema"
204
- version = "0.7.2"
204
+ version = "0.7.3"
205
205
  source = { editable = "packages/gravity-schema" }
206
206
  dependencies = [
207
207
  { name = "pydantic" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes