openyida 2026.5.27 → 2026.6.1-beta.1
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/README.md +144 -92
- package/bin/yida.js +64 -91
- package/lib/agent-center/api.js +6 -31
- package/lib/aggregate-table/aggregate-table.js +24 -59
- package/lib/ai/ai.js +81 -62
- package/lib/app/app-list.js +7 -28
- package/lib/app/check-page.js +2 -0
- package/lib/app/compile.js +3 -1
- package/lib/app/create-form.js +173 -320
- package/lib/app/export-app.js +48 -35
- package/lib/app/form-navigation.js +5 -12
- package/lib/app/page-compat.js +4 -0
- package/lib/app/page-compiler.js +2 -0
- package/lib/app/page-size-guard.js +120 -0
- package/lib/app/publish.js +3 -1
- package/lib/app-permission/app-permission.js +15 -42
- package/lib/auth/auth.js +3 -3
- package/lib/basic-info/basic-info.js +8 -11
- package/lib/cdn/cdn-config.js +1 -1
- package/lib/cdn/cdn-refresh.js +1 -1
- package/lib/cdn/cdn-upload.js +1 -1
- package/lib/connector/api.js +5 -30
- package/lib/connector/connector-add-action.js +1 -1
- package/lib/connector/connector-create-connection.js +1 -1
- package/lib/connector/connector-create.js +1 -1
- package/lib/connector/connector-delete-action.js +1 -1
- package/lib/connector/connector-delete.js +1 -1
- package/lib/connector/connector-detail.js +1 -1
- package/lib/connector/connector-gen-template.js +1 -1
- package/lib/connector/connector-list-actions.js +1 -1
- package/lib/connector/connector-list-connections.js +1 -1
- package/lib/connector/connector-parse-api.js +1 -1
- package/lib/connector/connector-test.js +9 -8
- package/lib/conversation/collector.js +1 -1
- package/lib/conversation/export-conversation.js +1 -1
- package/lib/core/check-data.js +31 -45
- package/lib/core/cli-error.js +39 -0
- package/lib/core/command-manifest.js +28 -0
- package/lib/core/copy.js +1 -48
- package/lib/core/locales/ar.js +13 -0
- package/lib/core/locales/de.js +13 -0
- package/lib/core/locales/en.js +81 -1
- package/lib/core/locales/es.js +13 -0
- package/lib/core/locales/fr.js +13 -0
- package/lib/core/locales/hi.js +13 -0
- package/lib/core/locales/ja.js +13 -0
- package/lib/core/locales/ko.js +13 -0
- package/lib/core/locales/pt.js +13 -0
- package/lib/core/locales/vi.js +13 -0
- package/lib/core/locales/zh-HK.js +13 -0
- package/lib/core/locales/zh.js +81 -1
- package/lib/core/query-data.js +28 -46
- package/lib/core/redact.js +100 -0
- package/lib/core/sample.js +1 -1
- package/lib/core/task-center.js +26 -42
- package/lib/core/utils.js +83 -1
- package/lib/core/yida-client.js +117 -0
- package/lib/corp-efficiency/corp-efficiency.js +11 -32
- package/lib/corp-manager/api.js +6 -31
- package/lib/db/db-seq-fix.js +1 -29
- package/lib/dws/dws-wrapper.js +1 -1
- package/lib/flash-note/flash-to-prd.js +66 -40
- package/lib/i18n-management/i18n-management.js +12 -44
- package/lib/integration/integration-api.js +100 -127
- package/lib/integration/integration-check.js +18 -2
- package/lib/integration/integration-create.js +35 -12
- package/lib/integration/integration-diagnose.js +77 -0
- package/lib/integration/integration-diagnostics.js +350 -0
- package/lib/integration/integration-process-builder.js +69 -56
- package/lib/integration/integration-view-builder.js +61 -61
- package/lib/page-config/get-page-config.js +70 -66
- package/lib/page-config/save-share-config.js +94 -169
- package/lib/page-config/verify-short-url.js +92 -197
- package/lib/permission/get-permission.js +27 -85
- package/lib/permission/save-permission.js +111 -193
- package/lib/process/ai-form-setting.js +85 -171
- package/lib/process/configure-process.js +123 -79
- package/lib/process/create-process.js +68 -45
- package/lib/process/preview-process.js +32 -25
- package/lib/report/append.js +70 -58
- package/lib/report/create-report.js +1 -1
- package/lib/report/field-utils.js +0 -4
- package/lib/report/filter-builder.js +0 -1
- package/lib/report/http.js +9 -12
- package/lib/report/index.js +65 -64
- package/package.json +10 -1
- package/scripts/e2e-real/skill-coverage.js +1 -0
- package/scripts/generate-command-docs.js +109 -0
- package/scripts/validate-ci.sh +17 -5
- package/scripts/validate-command-manifest.js +119 -0
- package/scripts/validate-package-size.js +78 -0
- package/yida-skills/SKILL.md +5 -1
- package/yida-skills/references/official-example-schema-patterns.md +217 -0
- package/yida-skills/skills/large-file-write/SKILL.md +18 -4
- package/yida-skills/skills/large-file-write/references/write-patterns.md +25 -0
- package/yida-skills/skills/yida-create-form-page/SKILL.md +10 -0
- package/yida-skills/skills/yida-custom-page/SKILL.md +15 -0
- package/yida-skills/skills/yida-dashboard/SKILL.md +1 -1
- package/yida-skills/skills/yida-dashboard/references/pitfalls.md +1 -0
- package/yida-skills/skills/yida-data-management/SKILL.md +21 -2
- package/yida-skills/skills/yida-data-source-connectors/SKILL.md +143 -0
- package/yida-skills/skills/yida-formula/SKILL.md +2 -0
- package/yida-skills/skills/yida-integration/SKILL.md +29 -2
- package/yida-skills/skills/yida-report/SKILL.md +3 -0
- package/project/pages/src/demo-agent-chatbox.oyd.jsx +0 -9514
- package/project/pages/src/demo-dingtalk-ai-solution-center.oyd.jsx +0 -4931
- package/project/pages/src/demo-openyida-image2-slider.oyd.jsx +0 -599
package/README.md
CHANGED
|
@@ -272,125 +272,172 @@ openyida append-chart APP_XXX REPORT_XXX .cache/openyida/reports/chart.json
|
|
|
272
272
|
|
|
273
273
|
Run `openyida --help` or `openyida <command> --help` for detailed usage.
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
<!-- OPENYIDA_COMMANDS_START -->
|
|
276
|
+
<!-- This section is generated by `npm run docs:commands`. Do not edit command rows by hand. -->
|
|
277
|
+
|
|
278
|
+
### Auth & Environment
|
|
276
279
|
|
|
277
280
|
| Command | Description |
|
|
278
281
|
|---------|-------------|
|
|
279
|
-
| `openyida env [--
|
|
280
|
-
| `openyida
|
|
281
|
-
| `openyida
|
|
282
|
-
| `openyida
|
|
283
|
-
| `openyida
|
|
284
|
-
| `openyida
|
|
285
|
-
| `openyida auth <status\|login\|refresh\|logout>` | Manage login status |
|
|
286
|
-
| `openyida org list` | List accessible organizations |
|
|
287
|
-
| `openyida org switch --corp-id <corpId>` | Switch organization without logging in again |
|
|
282
|
+
| `openyida login [--qr\|--agent-qr\|--codex\|--browser] [--env <name>\|--intl\|--overseas\|--global\|--yidaapps] [--corp-id <corpId>]` | Login (cache first, --browser or --agent-qr when needed) |
|
|
283
|
+
| `openyida logout` | Logout / switch account |
|
|
284
|
+
| `openyida auth <status\|login\|refresh\|logout>` | Login state management |
|
|
285
|
+
| `openyida org <list\|switch>` | Organization management (list / switch) |
|
|
286
|
+
| `openyida env [--json]` | Detect AI tool environment & login state |
|
|
287
|
+
| `openyida env <setup\|list\|show\|switch\|add\|remove>` | Manage public/private Yida environment profiles |
|
|
288
288
|
|
|
289
|
-
|
|
289
|
+
### App Management
|
|
290
290
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
291
|
+
| Command | Description |
|
|
292
|
+
|---------|-------------|
|
|
293
|
+
| `openyida app-list [--size N]` | List my Yida apps |
|
|
294
|
+
| `openyida corp-efficiency [overview\|details\|detail\|groups\|notify] [options] [--open\|--no-open]` | Query enterprise efficiency overview and detail reports |
|
|
295
|
+
| `openyida create-app "<name>"\|--name <name> [options] [--locale zh_CN\|en_US\|ja_JP] [--open\|--no-open]` | Create a Yida app |
|
|
296
|
+
| `openyida update-app <appType> [--name "..."] [--layout slide\|ver] [--theme deepBlue]` | Update app info |
|
|
297
|
+
| `openyida nav-group <list\|create\|rename\|delete\|move\|hide\|show> <appType> ...` | Manage app sidebar navigation groups |
|
|
298
|
+
| `openyida app-permission <get\|set\|add\|remove\|search-user> ...` | Manage app primary, data, and developer admins |
|
|
299
|
+
| `openyida i18n <overview\|config\|languages\|list\|upsert\|delete\|translate\|translate-all\|upgrade> <appType> ...` | Manage app multilingual copy and language config |
|
|
300
|
+
| `openyida export <appType> [output]` | Export app (generate migration package) |
|
|
301
|
+
| `openyida import <file> [name]` | Import migration package, rebuild app |
|
|
302
|
+
|
|
303
|
+
### Forms & Pages
|
|
294
304
|
|
|
295
305
|
| Command | Description |
|
|
296
306
|
|---------|-------------|
|
|
297
|
-
| `openyida
|
|
298
|
-
| `openyida
|
|
299
|
-
| `openyida create-
|
|
300
|
-
| `openyida
|
|
301
|
-
| `openyida
|
|
302
|
-
| `openyida
|
|
303
|
-
| `openyida
|
|
304
|
-
| `openyida
|
|
305
|
-
| `openyida
|
|
306
|
-
|
|
307
|
-
|
|
307
|
+
| `openyida create-form create <appType> ... [--locale zh_CN\|en_US\|ja_JP] [--open\|--no-open]` | Create a form page |
|
|
308
|
+
| `openyida create-form update <appType> ... [--locale zh_CN\|en_US\|ja_JP] [--open\|--no-open]` | Update a form page |
|
|
309
|
+
| `openyida create-form patch <appType> <formUuid> <patchJsonOrFile> [--open\|--no-open]` | Update a form page |
|
|
310
|
+
| `openyida create-form rule <appType> <formUuid> <rulesJsonOrFile> [--open\|--no-open]` | Update a form page |
|
|
311
|
+
| `openyida create-form validation <appType> <formUuid> <validationsJsonOrFile> [--open\|--no-open]` | Update a form page |
|
|
312
|
+
| `openyida add-validation <appType> <formUuid> --field <labelOrId> --type <phone\|regex\|idCard\|email\|...> [--message <text>]` | Update a form page |
|
|
313
|
+
| `openyida create-form bind-datasource <appType> <formUuid> <fieldLabelOrId> <dataSourceJsonOrFile> [--open\|--no-open]` | Update a form page |
|
|
314
|
+
| `openyida create-form add-option <appType> <formUuid> <fieldLabel> <option1> [option2] ...` | Update a form page |
|
|
315
|
+
| `openyida list-forms <appType> [--keyword <text>]` | List forms/pages in an app |
|
|
316
|
+
| `openyida aggregate-table <list\|create-empty\|inspect\|preview\|save\|publish\|status> <appType> ...` | Manage aggregate tables (virtualView) |
|
|
317
|
+
| `openyida get-schema <appType> <formUuid\|--all>` | Get one form Schema or all form Schemas |
|
|
318
|
+
| `openyida create-page <appType> "<name>" [--mode dashboard] [--locale zh_CN\|en_US\|ja_JP] [--open\|--no-open]` | Create a custom display page |
|
|
319
|
+
| `openyida generate-page <template>` | Generate page from curated template |
|
|
320
|
+
| `openyida build-page <sourceFile> [--output file\|--write]` | Build Yida-compatible page source |
|
|
321
|
+
| `openyida check-page <src> [--compat]` | Check custom page standards |
|
|
322
|
+
| `openyida compile <src>` | Compile custom page locally |
|
|
323
|
+
| `openyida publish <src> <appType> <formUuid> [--health-check] [--force] [--open\|--no-open]` | Compile and publish custom page |
|
|
324
|
+
| `openyida update-form-config <appType> ...` | Update form configuration |
|
|
325
|
+
|
|
326
|
+
### Data & Permissions
|
|
308
327
|
|
|
309
328
|
| Command | Description |
|
|
310
329
|
|---------|-------------|
|
|
311
|
-
| `openyida
|
|
312
|
-
| `openyida
|
|
313
|
-
| `openyida
|
|
314
|
-
| `openyida
|
|
315
|
-
| `openyida
|
|
316
|
-
| `openyida
|
|
317
|
-
| `openyida
|
|
318
|
-
| `openyida create-form add-option <appType> <formUuid> <fieldLabel> <option1> [option2] ...` | Append options to a SelectField/RadioField/CheckboxField/MultiSelectField |
|
|
319
|
-
| `openyida list-forms <appType> [--keyword <text>]` | List forms in an application |
|
|
320
|
-
| `openyida aggregate-table <list\|create-empty\|inspect\|preview\|save\|publish\|status> <appType> ...` | Manage Yida aggregate tables (`virtualView`) |
|
|
321
|
-
| `openyida get-schema <appType> <formUuid\|--all> [--field <labelOrFieldId>]` | Fetch one form schema, batch export all, or pick a single field's full props |
|
|
322
|
-
| `openyida create-page <appType> "<name>" [--mode dashboard] [--locale zh_CN\|en_US\|ja_JP] [--open\|--no-open]` | Create a custom display page; dashboard mode hides top/workbench chrome |
|
|
323
|
-
| `openyida generate-page <template> [--spec file]` | Generate custom page source from templates (`product-homepage`, `todo-mvc`) |
|
|
324
|
-
| `openyida build-page <sourceFile> [--output file\|--write]` | Build/fix Yida-compatible page source from OpenYida authoring JSX |
|
|
325
|
-
| `openyida check-page <sourceFile> [--compat] [--json]` | Check page compatibility; `.oyd.jsx` is compatibility-built before linting |
|
|
326
|
-
| `openyida compile <sourceFile> [--compat]` | Compile a custom page locally; `.oyd.jsx` sources are compatibility-built first |
|
|
327
|
-
| `openyida publish <sourceFile> <appType> <formUuid> [--compat] [--health-check] [--force] [--open\|--no-open]` | Compile and publish a custom display page; by default the target must be `formType=display` |
|
|
328
|
-
| `openyida update-form-config <appType> <formUuid> <isRenderNav> <title> [--locale zh_CN\|en_US\|ja_JP]` | Update page/form display configuration |
|
|
330
|
+
| `openyida data <action> <resource> [args]` | Unified data management (form/process/task/subform) |
|
|
331
|
+
| `openyida task-center <type> [options]` | Global task center (todo/processed/cc etc.) |
|
|
332
|
+
| `openyida basic-info <overview\|commodity\|grant\|capacity\|quota\|abs-path\|dataflow\|i18n\|domain>` | Query organization basic info, capacity, quotas, and domain settings |
|
|
333
|
+
| `openyida get-permission <appType> <formUuid>` | Query form permission config |
|
|
334
|
+
| `openyida save-permission <appType> <formUuid> ...` | Save form permission config |
|
|
335
|
+
| `openyida corp-manager <search-user\|list\|add\|remove\|address-book> ...` | Manage platform admins and address book permissions |
|
|
336
|
+
| `openyida agent-center <list\|create\|update\|cancel\|range\|search-user> ...` | Manage process and departure delegation |
|
|
329
337
|
|
|
330
|
-
|
|
338
|
+
### Process
|
|
331
339
|
|
|
332
|
-
|
|
340
|
+
| Command | Description |
|
|
341
|
+
|---------|-------------|
|
|
342
|
+
| `openyida configure-process <appType> ...` | Configure and publish process rules |
|
|
343
|
+
| `openyida create-process <appType> ...` | Create process form (all-in-one) |
|
|
344
|
+
| `openyida ai-form-setting <get\|fields\|models\|enable\|disable\|save> <appType> ...` | Manage process form AI approval prompts |
|
|
345
|
+
| `openyida process preview <appType> ...` | Preview process instance (visual flowchart) |
|
|
333
346
|
|
|
334
|
-
###
|
|
347
|
+
### Page Config & Sharing
|
|
335
348
|
|
|
336
349
|
| Command | Description |
|
|
337
350
|
|---------|-------------|
|
|
338
|
-
| `openyida
|
|
339
|
-
| `openyida
|
|
340
|
-
| `openyida
|
|
341
|
-
| `openyida
|
|
342
|
-
| `openyida basic-info <overview\|commodity\|grant\|capacity\|quota\|abs-path\|dataflow\|i18n\|domain>` | Query organization basic info, capacity, quotas, fixed-domain records, and domain settings |
|
|
343
|
-
| `openyida get-permission <appType> <formUuid>` | Query form permission configuration |
|
|
344
|
-
| `openyida save-permission <appType> <formUuid> [options]` | Save form permission configuration, including raw `--field-permission <json>` |
|
|
345
|
-
| `openyida corp-manager <sub-command>` | Manage platform admins, sub-admins, app admins, and address book visibility |
|
|
346
|
-
| `openyida verify-short-url <appType> <formUuid> <url>` | Verify a short URL |
|
|
347
|
-
| `openyida save-share-config <appType> <formUuid> <url> <isOpen> [openAuth]` | Save public access or sharing configuration |
|
|
348
|
-
| `openyida get-page-config <appType> <formUuid>` | Query public access or sharing configuration |
|
|
349
|
-
| `openyida externalize-form <appType> <formUuid> [--schema-file file]` | Assess public-access blockers and generate external-safe mirror fields |
|
|
350
|
-
|
|
351
|
-
`openyida externalize-form` is useful when a form contains fields such as `AssociationFormField`, `EmployeeField`, or `DepartmentSelectField` that depend on internal organization permissions. It produces a report plus optional `--mirror-fields-output` JSON that can be used with `openyida create-form create` to build a separate public intake form while keeping the internal form and its association fields private.
|
|
351
|
+
| `openyida verify-short-url <appType> ...` | Verify short URL |
|
|
352
|
+
| `openyida save-share-config <appType> ...` | Save public access / share config |
|
|
353
|
+
| `openyida get-page-config <appType> <formUuid>` | Query page public access config |
|
|
354
|
+
| `openyida externalize-form <appType> <formUuid> [--schema-file file]` | Plan external access-safe mirror fields |
|
|
352
355
|
|
|
353
|
-
###
|
|
356
|
+
### Reports
|
|
354
357
|
|
|
355
358
|
| Command | Description |
|
|
356
359
|
|---------|-------------|
|
|
357
|
-
| `openyida create-
|
|
358
|
-
| `openyida
|
|
359
|
-
| `openyida ai-form-setting <get\|fields\|models\|enable\|disable\|save> <appType> ...` | Manage process-form AI approval prompts from `/settings/aiFormSetting` |
|
|
360
|
-
| `openyida process preview <appType> <processInstanceId> [--output <path>]` | Generate a visual process preview |
|
|
361
|
-
| `openyida create-report <appType> "<name>" <charts.json> [--open\|--no-open]` | Create a Yida report |
|
|
362
|
-
| `openyida append-chart <appType> <reportId> <charts.json> [--open\|--no-open]` | Append a chart to an existing report |
|
|
363
|
-
| `openyida connector <sub-command>` | Manage HTTP connectors, actions, tests, and auth accounts |
|
|
364
|
-
| `openyida integration create <appType> <formUuid> <flowName> [options]` | Create an integration automation flow, including form and approval-process events |
|
|
365
|
-
| `openyida integration list <appType> [--form-uuid <uuid>] [--status y\|n] [--json]` | List automation flows in an app, optionally filtered by form/status |
|
|
366
|
-
| `openyida integration enable <appType> <formUuid> <processCode>` | Enable an automation flow |
|
|
367
|
-
| `openyida integration disable <appType> <formUuid> <processCode>` | Disable an automation flow |
|
|
368
|
-
| `openyida dws <command> [args]` | Access DingTalk CLI capabilities such as contacts, calendar, todo, and approval |
|
|
369
|
-
| `openyida dingtalk-link <url> [--target fullScreen] [--legacy-scheme] [--json]` | Generate DingTalk AppLink URLs for opening pages in DingTalk; use `--legacy-scheme` only when old `dingtalk://` links are required |
|
|
360
|
+
| `openyida create-report <appType> "<name>" ... [--open\|--no-open]` | Create a Yida report |
|
|
361
|
+
| `openyida append-chart <appType> <reportId> ... [--open\|--no-open]` | Append chart to existing report |
|
|
370
362
|
|
|
371
|
-
|
|
363
|
+
### Connectors
|
|
372
364
|
|
|
373
|
-
|
|
365
|
+
| Command | Description |
|
|
366
|
+
|---------|-------------|
|
|
367
|
+
| `openyida connector list` | List HTTP connectors |
|
|
368
|
+
| `openyida connector create "name" "domain" ...` | Create a connector |
|
|
369
|
+
| `openyida connector detail <id>` | View connector details |
|
|
370
|
+
| `openyida connector delete <id>` | Delete a connector |
|
|
371
|
+
| `openyida connector add-action --operations <file> --connector-id <id>` | Add an action |
|
|
372
|
+
| `openyida connector list-actions <id>` | List actions |
|
|
373
|
+
| `openyida connector delete-action <id> <operation-id>` | Delete an action |
|
|
374
|
+
| `openyida connector test --connector-id <id> --action <actionId>` | Test an action |
|
|
375
|
+
| `openyida connector list-connections <id>` | List auth connections |
|
|
376
|
+
| `openyida connector create-connection <id> <name>` | Create an auth connection |
|
|
377
|
+
| `openyida connector smart-create --curl "..."` | Smart create connector (from cURL) |
|
|
378
|
+
| `openyida connector parse-api [options]` | Parse API information |
|
|
379
|
+
| `openyida connector gen-template [output]` | Generate API document template |
|
|
380
|
+
|
|
381
|
+
### Integration & DingTalk
|
|
382
|
+
|
|
383
|
+
| Command | Description |
|
|
384
|
+
|---------|-------------|
|
|
385
|
+
| `openyida integration create <appType> ...` | Create integration automation flow |
|
|
386
|
+
| `openyida integration list <appType> [--form-uuid <uuid>] [--status y\|n] [--json]` | List integration automation flows |
|
|
387
|
+
| `openyida integration enable <appType> <formUuid> <processCode>` | Enable integration automation flow |
|
|
388
|
+
| `openyida integration disable <appType> <formUuid> <processCode>` | Disable integration automation flow |
|
|
389
|
+
| `openyida integration check <appType...>` | Check abnormal integration automation run logs |
|
|
390
|
+
| `openyida integration diagnose (--text <text>\|--file <path>\|--rules) [--json]` | Diagnose integration automation tickets and common pitfalls |
|
|
391
|
+
| `openyida dws <command> [args]` | DingTalk CLI (contacts/calendar/todo/approval etc.) |
|
|
392
|
+
| `openyida dws contact user search --keyword <text>` | DingTalk CLI (contacts/calendar/todo/approval etc.) |
|
|
393
|
+
| `openyida dingtalk-link <url> [--target fullScreen] [--legacy-scheme] [--json]` | Generate DingTalk AppLink / legacy dingtalk:// page links |
|
|
394
|
+
|
|
395
|
+
### Utility
|
|
374
396
|
|
|
375
397
|
| Command | Description |
|
|
376
398
|
|---------|-------------|
|
|
377
|
-
| `openyida
|
|
378
|
-
| `openyida
|
|
379
|
-
| `openyida bridge start [--token <pair-token>] [--port 6736] [--open]` | Start
|
|
380
|
-
| `openyida
|
|
399
|
+
| `openyida commands [--json]` | Output machine-readable command manifest |
|
|
400
|
+
| `openyida a2a <serve\|agent-card> [options]` | Start local read-only A2A adapter or print Agent Card |
|
|
401
|
+
| `openyida bridge start [--token <pair-token>] [--port 6736] [--origin https://demo.aliwork.com] [--open\|--no-open]` | Start OpenYida local web bridge service |
|
|
402
|
+
| `openyida copy [--force]` | Copy project working directory |
|
|
403
|
+
| `openyida sample [--list]` | Output code samples/templates |
|
|
404
|
+
| `openyida doctor [--fix]` | Environment diagnostics & auto-fix |
|
|
381
405
|
| `openyida db-seq-fix [--fix]` | Detect and repair PostgreSQL sequence drift |
|
|
382
|
-
| `openyida formula evaluate <formula\|file> [--schema file]` | Static-check formula syntax and field
|
|
383
|
-
| `openyida update` |
|
|
384
|
-
| `openyida export-conversation [options]` | Export AI conversation
|
|
385
|
-
| `openyida feedback <setup\|url\|dismiss\|status
|
|
386
|
-
| `openyida
|
|
387
|
-
| `openyida
|
|
388
|
-
| `openyida
|
|
389
|
-
| `openyida
|
|
390
|
-
| `openyida cdn-
|
|
406
|
+
| `openyida formula evaluate <formula\|file> [--schema file]` | Static-check Yida formula syntax and field refs |
|
|
407
|
+
| `openyida update` | Check and update to latest version |
|
|
408
|
+
| `openyida export-conversation [options]` | Export AI conversation records |
|
|
409
|
+
| `openyida feedback <setup\|url\|dismiss\|status> [options]` | Configure experience feedback form and local reminder state |
|
|
410
|
+
| `openyida batch <file> [--stop-on-error] [--json]` | Run OpenYida commands in batch |
|
|
411
|
+
| `openyida batch --commands "cmd1 ; cmd2" [--stop-on-error] [--json]` | Run OpenYida commands in batch |
|
|
412
|
+
| `openyida flash-to-prd --file <path> --name "<project>"` | Convert flash notes or meeting notes to a PRD prompt |
|
|
413
|
+
| `openyida ai <text\|image> [options]` | Call Yida AI text and image recognition APIs |
|
|
414
|
+
| `openyida cdn-config [options]` | Configure CDN / OSS upload |
|
|
415
|
+
| `openyida cdn-upload <image-path>` | Upload image to CDN |
|
|
391
416
|
| `openyida cdn-refresh [options]` | Refresh CDN cache |
|
|
392
|
-
|
|
393
|
-
|
|
417
|
+
|
|
418
|
+
<!-- OPENYIDA_COMMANDS_END -->
|
|
419
|
+
|
|
420
|
+
### CLI Notes
|
|
421
|
+
|
|
422
|
+
#### Environment and Localization
|
|
423
|
+
|
|
424
|
+
Environment selectors such as `--env intl`, `--intl`, `--overseas`, `--global`, and `--yidaapps` can be used on login-required commands to choose the target Yida environment for that run. The `intl` preset uses `https://www.yidaapps.com` as the built-in Global YiDA entrypoint (not the bare `https://yidaapps.com` domain) and DingTalk International OAuth at `https://login.dingtalk.io`; business API requests still use the authenticated environment `baseUrl`, so customer custom subdomains are supported.
|
|
425
|
+
|
|
426
|
+
For overseas apps, pass `--locale en_US` or `--locale ja_JP` on creation commands, or set `OPENYIDA_CONTENT_LOCALE`. OpenYida writes YiDA resource names with `zh_CN`, `en_US`, and `ja_JP` values so Global YiDA does not fall back to Chinese-only metadata.
|
|
427
|
+
|
|
428
|
+
#### Forms and Pages
|
|
429
|
+
|
|
430
|
+
Form field definitions can include `alias` or `componentAlias` to populate Yida designer component aliases, stored as `pages[0].componentAlias.items`. Yida runtime resolves these aliases in page JS, so `this.$('phone')` can be used instead of `this.$('textField_xxx')`; OpenYida form rules, validations, and `openyida data ... --resolve-aliases` JSON inputs also accept aliases as field references. For server-side DingTalk OpenAPI calls, use `GET /v2.0/yida/forms/component/alias/{appType}/{formUuid}` to read the `{ fieldId, alias }` mapping, then translate aliases before sending form data/search JSON. That endpoint requires `systemToken`, `userId`, an access token, and the Yida form data read permission; grant that permission in DingTalk developer console API permissions and publish the DingTalk app. Yida app code and app secret are available under app settings > deployment/maintenance.
|
|
431
|
+
|
|
432
|
+
`openyida publish` preserves existing custom page data sources by default. Before saving the new compiled JSX Schema, it reads the current page Schema and merges the Page-level `dataSource` with the built-in `urlParams` and `timestamp` sources, so manually configured data sources are not deleted during republish.
|
|
433
|
+
|
|
434
|
+
#### Data, Permissions, and Sharing
|
|
435
|
+
|
|
436
|
+
`openyida externalize-form` is useful when a form contains fields such as `AssociationFormField`, `EmployeeField`, or `DepartmentSelectField` that depend on internal organization permissions. It produces a report plus optional `--mirror-fields-output` JSON that can be used with `openyida create-form create` to build a separate public intake form while keeping the internal form and its association fields private.
|
|
437
|
+
|
|
438
|
+
#### Workflow, Reports, and Integrations
|
|
439
|
+
|
|
440
|
+
`openyida integration create` supports form events (`insert`, `update`, `delete`, `comment`) and approval events (`processFinish`, `activityTask`; aliases: `approval`, `approvalNode`). Approval events require `--approval-actions agree,disagree,terminated`; `activityTask` also requires `--approval-node-ids <nodeId,...>`.
|
|
394
441
|
|
|
395
442
|
## Agent Skills
|
|
396
443
|
|
|
@@ -465,11 +512,16 @@ Useful checks:
|
|
|
465
512
|
|---------|---------|
|
|
466
513
|
| `npm test` | Run Jest tests |
|
|
467
514
|
| `npm run lint` | Run ESLint |
|
|
515
|
+
| `npm run check:quick` | Run structure, manifest, syntax, and lint checks |
|
|
516
|
+
| `npm run check:commands` | Validate router, command manifest, and README alignment |
|
|
517
|
+
| `npm run docs:commands` | Regenerate the README command index from the manifest |
|
|
518
|
+
| `npm run check:docs` | Verify generated README command docs are current |
|
|
468
519
|
| `npm run check:syntax` | Validate JavaScript syntax |
|
|
469
520
|
| `npm run check:structure` | Validate project structure |
|
|
521
|
+
| `npm run check:package-size` | Validate npm package size and file-count budget |
|
|
470
522
|
| `npm run check:package` | Validate npm package contents |
|
|
471
523
|
|
|
472
|
-
When adding new CLI commands, register the route in `bin/yida.js`, add it to `lib/core/command-manifest.js`,
|
|
524
|
+
When adding new CLI commands, register the route in `bin/yida.js`, add it to `lib/core/command-manifest.js`, regenerate the README command index with `npm run docs:commands`, and keep agent skills in `yida-skills/` aligned when the workflow changes. `npm run check:commands` fails if the router, manifest, or README drift apart.
|
|
473
525
|
|
|
474
526
|
## Security and Configuration
|
|
475
527
|
|