flowjet 2.0.0__py3-none-any.whl

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 (137) hide show
  1. flowjet/__init__.py +19 -0
  2. flowjet/__main__.py +7 -0
  3. flowjet/builtin_skills/README.md +10 -0
  4. flowjet/builtin_skills/gws-drive/SKILL.md +138 -0
  5. flowjet/builtin_skills/gws-drive-upload/SKILL.md +53 -0
  6. flowjet/builtin_skills/logo-generator-skill/.env.example +11 -0
  7. flowjet/builtin_skills/logo-generator-skill/README.md +439 -0
  8. flowjet/builtin_skills/logo-generator-skill/SKILL.md +196 -0
  9. flowjet/builtin_skills/logo-generator-skill/assets/background_library.html +724 -0
  10. flowjet/builtin_skills/logo-generator-skill/assets/showcase_template.html +198 -0
  11. flowjet/builtin_skills/logo-generator-skill/references/background_styles.md +262 -0
  12. flowjet/builtin_skills/logo-generator-skill/references/design_patterns.md +722 -0
  13. flowjet/builtin_skills/logo-generator-skill/references/webgl_backgrounds.md +127 -0
  14. flowjet/builtin_skills/logo-generator-skill/requirements.txt +4 -0
  15. flowjet/builtin_skills/logo-generator-skill/scripts/generate_showcase.py +296 -0
  16. flowjet/builtin_skills/logo-generator-skill/scripts/svg_to_png.py +69 -0
  17. flowjet/builtin_skills/platonic-coding/SKILL.md +145 -0
  18. flowjet/builtin_skills/platonic-coding/assets/brainstorming/spec-document-reviewer-prompt.md +49 -0
  19. flowjet/builtin_skills/platonic-coding/assets/implementation/coding-plan-template.md +82 -0
  20. flowjet/builtin_skills/platonic-coding/assets/implementation/impl-guide-template.md +262 -0
  21. flowjet/builtin_skills/platonic-coding/assets/review/pr-review-template.md +168 -0
  22. flowjet/builtin_skills/platonic-coding/assets/review/review-checklist.md +179 -0
  23. flowjet/builtin_skills/platonic-coding/assets/specs/rfc-template.md +94 -0
  24. flowjet/builtin_skills/platonic-coding/assets/specs/template-architecture-design.md +139 -0
  25. flowjet/builtin_skills/platonic-coding/assets/specs/template-conceptual-design.md +102 -0
  26. flowjet/builtin_skills/platonic-coding/assets/specs/template-impl-interface-design.md +137 -0
  27. flowjet/builtin_skills/platonic-coding/assets/templates/template-drafts-readme.md +48 -0
  28. flowjet/builtin_skills/platonic-coding/assets/templates/template-impl-readme.md +61 -0
  29. flowjet/builtin_skills/platonic-coding/assets/templates/template-platonic.yml +22 -0
  30. flowjet/builtin_skills/platonic-coding/assets/templates/template-rfc-history.md +36 -0
  31. flowjet/builtin_skills/platonic-coding/assets/templates/template-rfc-index.md +57 -0
  32. flowjet/builtin_skills/platonic-coding/assets/templates/template-rfc-namings.md +36 -0
  33. flowjet/builtin_skills/platonic-coding/assets/templates/template-rfc-standard.md +577 -0
  34. flowjet/builtin_skills/platonic-coding/references/BRAINSTORM/brainstorm.md +160 -0
  35. flowjet/builtin_skills/platonic-coding/references/IMPL/impl-code.md +106 -0
  36. flowjet/builtin_skills/platonic-coding/references/IMPL/impl-create-guide.md +156 -0
  37. flowjet/builtin_skills/platonic-coding/references/IMPL/impl-full.md +51 -0
  38. flowjet/builtin_skills/platonic-coding/references/IMPL/impl-update-guide.md +155 -0
  39. flowjet/builtin_skills/platonic-coding/references/IMPL/impl-validate-guide.md +147 -0
  40. flowjet/builtin_skills/platonic-coding/references/INIT/init-plan-modular-specs.md +160 -0
  41. flowjet/builtin_skills/platonic-coding/references/INIT/init-recover-architecture.md +149 -0
  42. flowjet/builtin_skills/platonic-coding/references/INIT/init-recover-conceptual.md +126 -0
  43. flowjet/builtin_skills/platonic-coding/references/INIT/init-recover-impl-interface.md +134 -0
  44. flowjet/builtin_skills/platonic-coding/references/INIT/init-scaffold.md +119 -0
  45. flowjet/builtin_skills/platonic-coding/references/INIT/init-scan.md +55 -0
  46. flowjet/builtin_skills/platonic-coding/references/REFERENCE.md +180 -0
  47. flowjet/builtin_skills/platonic-coding/references/REVIEW/review-spec-compliance.md +63 -0
  48. flowjet/builtin_skills/platonic-coding/references/SPECS/specs-check-compliance.md +160 -0
  49. flowjet/builtin_skills/platonic-coding/references/SPECS/specs-check-taxonomy.md +106 -0
  50. flowjet/builtin_skills/platonic-coding/references/SPECS/specs-generate-history.md +95 -0
  51. flowjet/builtin_skills/platonic-coding/references/SPECS/specs-generate-index.md +119 -0
  52. flowjet/builtin_skills/platonic-coding/references/SPECS/specs-generate-namings.md +129 -0
  53. flowjet/builtin_skills/platonic-coding/references/SPECS/specs-refine.md +84 -0
  54. flowjet/builtin_skills/platonic-coding/references/SPECS/specs-validate-consistency.md +116 -0
  55. flowjet/builtin_skills/platonic-coding/references/WORKFLOW/workflow-overview.md +78 -0
  56. flowjet/builtin_skills/platonic-coding/references/WORKFLOW/workflow-phase-1.md +25 -0
  57. flowjet/builtin_skills/platonic-coding/references/WORKFLOW/workflow-phase-2.md +34 -0
  58. flowjet/builtin_skills/platonic-coding/references/WORKFLOW/workflow-phase-3.md +40 -0
  59. flowjet/builtin_skills/research-bootstrap/SKILL.md +109 -0
  60. flowjet/builtin_skills/research-bootstrap/patterns/evidence-deep.json +41 -0
  61. flowjet/builtin_skills/research-bootstrap/patterns/evidence-first.json +36 -0
  62. flowjet/builtin_skills/research-bootstrap/patterns/idea-first.json +40 -0
  63. flowjet/builtin_skills/research-bootstrap/patterns/loop.json +44 -0
  64. flowjet/builtin_skills/research-bootstrap/patterns/paper-pipeline.json +38 -0
  65. flowjet/builtin_skills/research-bootstrap/patterns/rapid.json +30 -0
  66. flowjet/builtin_skills/research-bootstrap/patterns/rigor-first.json +42 -0
  67. flowjet/builtin_skills/research-bootstrap/patterns/stance-first.json +39 -0
  68. flowjet/builtin_skills/research-bootstrap/patterns/systematic-review.json +47 -0
  69. flowjet/builtin_skills/research-bootstrap/patterns/verify-loop.json +42 -0
  70. flowjet/builtin_skills/research-bootstrap/references/backends.md +72 -0
  71. flowjet/builtin_skills/research-bootstrap/references/handoff-ars-omr.md +44 -0
  72. flowjet/builtin_skills/research-bootstrap/references/handoff-omr-ars.md +51 -0
  73. flowjet/builtin_skills/research-bootstrap/references/routing.md +51 -0
  74. flowjet/builtin_skills/research-bootstrap/scripts/csljson_to_omr.py +136 -0
  75. flowjet/builtin_skills/research-bootstrap/scripts/papers_index_to_csljson.py +199 -0
  76. flowjet/cli/__init__.py +7 -0
  77. flowjet/cli/__main__.py +7 -0
  78. flowjet/cli/agent.py +178 -0
  79. flowjet/cli/cli.py +607 -0
  80. flowjet/cli/completion/__init__.py +7 -0
  81. flowjet/cli/completion/context.py +250 -0
  82. flowjet/cli/completion/engine.py +497 -0
  83. flowjet/cli/doctor_cmd.py +507 -0
  84. flowjet/cli/doctor_fix_cmd.py +383 -0
  85. flowjet/cli/progress.py +875 -0
  86. flowjet/cli/serve_cmd.py +55 -0
  87. flowjet/cli/setup_cmd.py +531 -0
  88. flowjet/cli/shell/__init__.py +0 -0
  89. flowjet/cli/shell/_fj.zsh +77 -0
  90. flowjet/cli/shell/fj.bash +69 -0
  91. flowjet/cli/stream.py +416 -0
  92. flowjet/cli/threads.py +384 -0
  93. flowjet/cli/tool_stream.py +20 -0
  94. flowjet/core/__init__.py +53 -0
  95. flowjet/core/backends/__init__.py +12 -0
  96. flowjet/core/backends/direct.py +59 -0
  97. flowjet/core/backends/fake.py +57 -0
  98. flowjet/core/backends/isolation/__init__.py +24 -0
  99. flowjet/core/backends/isolation/adapter.py +74 -0
  100. flowjet/core/backends/isolation/admission.py +37 -0
  101. flowjet/core/backends/isolation/backend.py +98 -0
  102. flowjet/core/backends/isolation/errors.py +12 -0
  103. flowjet/core/backends/isolation/mode_gate.py +36 -0
  104. flowjet/core/backends/isolation/pool.py +634 -0
  105. flowjet/core/backends/isolation/request.py +24 -0
  106. flowjet/core/backends/isolation/workspace.py +47 -0
  107. flowjet/core/bootstrap.py +183 -0
  108. flowjet/core/bridges/nano/__init__.py +6 -0
  109. flowjet/core/bridges/nano/adapter.py +119 -0
  110. flowjet/core/bridges/nano/backend.py +86 -0
  111. flowjet/core/bridges/nano/mapping.py +213 -0
  112. flowjet/core/events.py +113 -0
  113. flowjet/core/modes.py +117 -0
  114. flowjet/core/protocol.py +20 -0
  115. flowjet/core/tool_results.py +70 -0
  116. flowjet/core/tool_stream.py +246 -0
  117. flowjet/server/__init__.py +11 -0
  118. flowjet/server/__main__.py +66 -0
  119. flowjet/server/acp/__init__.py +11 -0
  120. flowjet/server/acp/agent.py +313 -0
  121. flowjet/server/acp/routes.py +47 -0
  122. flowjet/server/config.py +60 -0
  123. flowjet/server/http/__init__.py +5 -0
  124. flowjet/server/http/app.py +119 -0
  125. flowjet/server/http/auth.py +36 -0
  126. flowjet/server/openai_compat/__init__.py +14 -0
  127. flowjet/server/openai_compat/errors.py +34 -0
  128. flowjet/server/openai_compat/projection.py +321 -0
  129. flowjet/server/openai_compat/routes.py +77 -0
  130. flowjet/server/openai_compat/schemas.py +120 -0
  131. flowjet/server/openai_compat/service.py +299 -0
  132. flowjet/server/openai_compat/store.py +29 -0
  133. flowjet-2.0.0.dist-info/METADATA +288 -0
  134. flowjet-2.0.0.dist-info/RECORD +137 -0
  135. flowjet-2.0.0.dist-info/WHEEL +4 -0
  136. flowjet-2.0.0.dist-info/entry_points.txt +5 -0
  137. flowjet-2.0.0.dist-info/licenses/LICENSE +21 -0
flowjet/__init__.py ADDED
@@ -0,0 +1,19 @@
1
+ """FlowJet — unified agent CLI and server (ACP + OpenAI-compatible HTTP).
2
+
3
+ The distribution ships three packages:
4
+
5
+ * ``flowjet.core`` — surface-agnostic runtime (events, backends, nano bridge)
6
+ * ``flowjet.cli`` — terminal one-shot agent (``fj``)
7
+ * ``flowjet.server`` — HTTP service (``flowjet-server`` / ``fj serve``)
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import importlib.metadata
13
+
14
+ try:
15
+ __version__ = importlib.metadata.version("flowjet")
16
+ except importlib.metadata.PackageNotFoundError: # pragma: no cover
17
+ __version__ = "0.0.0"
18
+
19
+ __all__ = ["__version__"]
flowjet/__main__.py ADDED
@@ -0,0 +1,7 @@
1
+ """Allow ``python -m flowjet`` (defaults to the CLI)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from flowjet.cli.cli import main
6
+
7
+ raise SystemExit(main())
@@ -0,0 +1,10 @@
1
+ # fj Builtin Skills
2
+
3
+ Skills shipped with the **fj** CLI. Registered automatically via
4
+ ``register_builtin_skill_root`` when the agent starts.
5
+
6
+ Includes workflow skills (planning, TDD, debugging, code review, git worktrees)
7
+ and document skills (`docx`, `pptx`, `xlsx`, `pdf`, `mcp-builder`).
8
+
9
+ Add a new skill as ``<name>/SKILL.md`` under this directory (AgentSkills format).
10
+ Skill scripts under this tree are excluded from package ruff lint.
@@ -0,0 +1,138 @@
1
+ ---
2
+ name: gws-drive
3
+ description: "Google Drive: Manage files, folders, and shared drives."
4
+ metadata:
5
+ version: 0.22.5
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins:
10
+ - gws
11
+ cliHelp: "gws drive --help"
12
+ ---
13
+
14
+ # drive (v3)
15
+
16
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
17
+
18
+ ```bash
19
+ gws drive <resource> <method> [flags]
20
+ ```
21
+
22
+ ## Helper Commands
23
+
24
+ | Command | Description |
25
+ |---------|-------------|
26
+ | [`+upload`](../gws-drive-upload/SKILL.md) | Upload a file with automatic metadata |
27
+
28
+ ## API Resources
29
+
30
+ ### about
31
+
32
+ - `get` — Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
33
+
34
+ ### accessproposals
35
+
36
+ - `get` — Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).
37
+ - `list` — List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned.
38
+ - `resolve` — Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).
39
+
40
+ ### approvals
41
+
42
+ - `get` — Gets an Approval by ID.
43
+ - `list` — Lists the Approvals on a file.
44
+
45
+ ### apps
46
+
47
+ - `get` — Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).
48
+ - `list` — Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).
49
+
50
+ ### changes
51
+
52
+ - `getStartPageToken` — Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).
53
+ - `list` — Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).
54
+ - `watch` — Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
55
+
56
+ ### channels
57
+
58
+ - `stop` — Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
59
+
60
+ ### comments
61
+
62
+ - `create` — Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
63
+ - `delete` — Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
64
+ - `get` — Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
65
+ - `list` — Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
66
+ - `update` — Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).
67
+
68
+ ### drives
69
+
70
+ - `create` — Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
71
+ - `get` — Gets a shared drive's metadata by ID. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
72
+ - `hide` — Hides a shared drive from the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
73
+ - `list` — Lists the user's shared drives. This method accepts the `q` parameter, which is a search query combining one or more search terms. For more information, see the [Search for shared drives](https://developers.google.com/workspace/drive/api/guides/search-shareddrives) guide.
74
+ - `unhide` — Restores a shared drive to the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
75
+ - `update` — Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
76
+
77
+ ### files
78
+
79
+ - `copy` — Creates a copy of a file and applies any requested updates with patch semantics. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).
80
+ - `create` — Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). This method supports an */upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:* `*/*` (Specify a valid MIME type, rather than the literal `*/*` value. The literal `*/*` is only used to indicate that any valid MIME type can be uploaded.
81
+ - `download` — Downloads the content of a file. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Operations are valid for 24 hours from the time of creation.
82
+ - `export` — Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Note that the exported content is limited to 10 MB.
83
+ - `generateIds` — Generates a set of file IDs which can be provided in create or copy requests. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).
84
+ - `get` — Gets a file's metadata or content by ID. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). If you provide the URL parameter `alt=media`, then the response includes the file contents in the response body. Downloading content with `alt=media` only works if the file is stored in Drive.
85
+ - `list` — Lists the user's files. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). This method accepts the `q` parameter, which is a search query combining one or more search terms. This method returns *all* files by default, including trashed files. If you don't want trashed files to appear in the list, use the `trashed=false` query parameter to remove trashed files from the results.
86
+ - `listLabels` — Lists the labels on a file. For more information, see [List labels on a file](https://developers.google.com/workspace/drive/api/guides/list-labels).
87
+ - `modifyLabels` — Modifies the set of labels applied to a file. For more information, see [Set a label field on a file](https://developers.google.com/workspace/drive/api/guides/set-label). Returns a list of the labels that were added or modified.
88
+ - `update` — Updates a file's metadata, content, or both. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might be changed automatically, such as `modifiedDate`. This method supports patch semantics. This method supports an */upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:* `*/*` (Specify a valid MIME type, rather than the literal `*/*` value.
89
+ - `watch` — Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
90
+
91
+ ### operations
92
+
93
+ - `get` — Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
94
+
95
+ ### permissions
96
+
97
+ - `create` — Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
98
+ - `delete` — Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
99
+ - `get` — Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).
100
+ - `list` — Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).
101
+ - `update` — Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.
102
+
103
+ ### replies
104
+
105
+ - `create` — Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
106
+ - `delete` — Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
107
+ - `get` — Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
108
+ - `list` — Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
109
+ - `update` — Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
110
+
111
+ ### revisions
112
+
113
+ - `delete` — Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. For more information, see [Manage file revisions](https://developers.google.com/drive/api/guides/manage-revisions).
114
+ - `get` — Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).
115
+ - `list` — Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions). **Important:** The list of revisions returned by this method might be incomplete for files with a large revision history, including frequently edited Google Docs, Sheets, and Slides. Older revisions might be omitted from the response, meaning the first revision returned may not be the oldest existing revision.
116
+ - `update` — Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).
117
+
118
+ ### teamdrives
119
+
120
+ - `create` — Deprecated: Use `drives.create` instead.
121
+ - `get` — Deprecated: Use `drives.get` instead.
122
+ - `list` — Deprecated: Use `drives.list` instead.
123
+ - `update` — Deprecated: Use `drives.update` instead.
124
+
125
+ ## Discovering Commands
126
+
127
+ Before calling any API method, inspect it:
128
+
129
+ ```bash
130
+ # Browse resources and methods
131
+ gws drive --help
132
+
133
+ # Inspect a method's required params, types, and defaults
134
+ gws schema drive.<resource>.<method>
135
+ ```
136
+
137
+ Use `gws schema` output to build your `--params` and `--json` flags.
138
+
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: gws-drive-upload
3
+ description: "Google Drive: Upload a file with automatic metadata."
4
+ metadata:
5
+ version: 0.22.5
6
+ openclaw:
7
+ category: "productivity"
8
+ requires:
9
+ bins:
10
+ - gws
11
+ cliHelp: "gws drive +upload --help"
12
+ ---
13
+
14
+ # drive +upload
15
+
16
+ > **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
17
+
18
+ Upload a file with automatic metadata
19
+
20
+ ## Usage
21
+
22
+ ```bash
23
+ gws drive +upload <file>
24
+ ```
25
+
26
+ ## Flags
27
+
28
+ | Flag | Required | Default | Description |
29
+ |------|----------|---------|-------------|
30
+ | `<file>` | ✓ | — | Path to file to upload |
31
+ | `--parent` | — | — | Parent folder ID |
32
+ | `--name` | — | — | Target filename (defaults to source filename) |
33
+
34
+ ## Examples
35
+
36
+ ```bash
37
+ gws drive +upload ./report.pdf
38
+ gws drive +upload ./report.pdf --parent FOLDER_ID
39
+ gws drive +upload ./data.csv --name 'Sales Data.csv'
40
+ ```
41
+
42
+ ## Tips
43
+
44
+ - MIME type is detected automatically.
45
+ - Filename is inferred from the local path unless --name is given.
46
+
47
+ > [!CAUTION]
48
+ > This is a **write** command — confirm with the user before executing.
49
+
50
+ ## See Also
51
+
52
+ - [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
53
+ - [gws-drive](../gws-drive/SKILL.md) — All manage files, folders, and shared drives commands
@@ -0,0 +1,11 @@
1
+ # Gemini API Configuration
2
+ GEMINI_API_KEY=your_api_key_here
3
+
4
+ # Optional: Use third-party API endpoint
5
+ # Leave empty to use official Google API
6
+ # Example: https://your-proxy.com/v1
7
+ GEMINI_API_BASE_URL=
8
+
9
+ # Model Configuration
10
+ # Default: gemini-3.1-flash-image-preview (Nano Banana 2)
11
+ GEMINI_MODEL=gemini-3.1-flash-image-preview