@huaqiu/dsh-hqsch 0.4.8

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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -0
  3. package/cordis.patch.yml +13 -0
  4. package/lib/index.d.mts +98 -0
  5. package/lib/index.mjs +159 -0
  6. package/package.json +40 -0
  7. package/skills/hqsch-scenario-b/AGENTS.md +209 -0
  8. package/skills/hqsch-scenario-b/CLAUDE.md +209 -0
  9. package/skills/hqsch-scenario-b/INSTALL.md +140 -0
  10. package/skills/hqsch-scenario-b/SKILL.md +107 -0
  11. package/skills/hqsch-scenario-b/SYSTEM-PROMPT.md +209 -0
  12. package/skills/hqsch-scenario-b/docs/circuit-pattern-layout.md +304 -0
  13. package/skills/hqsch-scenario-b/docs/editing-a-circuit.md +167 -0
  14. package/skills/hqsch-scenario-b/docs/part-search.md +244 -0
  15. package/skills/hqsch-scenario-b/docs/placement-conventions.md +714 -0
  16. package/skills/hqsch-scenario-b/docs/property-conventions.md +225 -0
  17. package/skills/hqsch-scenario-b/docs/quickstart.md +99 -0
  18. package/skills/hqsch-scenario-b/docs/reading-a-circuit.md +317 -0
  19. package/skills/hqsch-scenario-b/docs/rpc/canvas-auto-connect-objects-by-id.md +98 -0
  20. package/skills/hqsch-scenario-b/docs/rpc/canvas-delete-objects-by-ids.md +94 -0
  21. package/skills/hqsch-scenario-b/docs/rpc/canvas-find-object-by-property.md +101 -0
  22. package/skills/hqsch-scenario-b/docs/rpc/canvas-list-wire-segments.md +94 -0
  23. package/skills/hqsch-scenario-b/docs/rpc/canvas-mirror-objects-by-ids.md +96 -0
  24. package/skills/hqsch-scenario-b/docs/rpc/canvas-rotate-objects-by-ids.md +94 -0
  25. package/skills/hqsch-scenario-b/docs/rpc/canvas-set-object-property.md +99 -0
  26. package/skills/hqsch-scenario-b/docs/rpc/canvas-zoom-all.md +92 -0
  27. package/skills/hqsch-scenario-b/docs/rpc/find-find-object.md +96 -0
  28. package/skills/hqsch-scenario-b/docs/rpc/kernel-get-snapshot.md +104 -0
  29. package/skills/hqsch-scenario-b/docs/rpc/netlist-get-active-page-net-list.md +87 -0
  30. package/skills/hqsch-scenario-b/docs/rpc/netlist-get-port-pairing.md +34 -0
  31. package/skills/hqsch-scenario-b/docs/rpc/obj-place-place-pin-stub-wire-and-net-alias.md +114 -0
  32. package/skills/hqsch-scenario-b/docs/rpc/pattern-layout-apply-circuit-pattern.md +125 -0
  33. package/skills/hqsch-scenario-b/docs/rpc/pattern-layout-get-page-occupancy.md +100 -0
  34. package/skills/hqsch-scenario-b/docs/rpc/pattern-layout-list-circuit-patterns.md +97 -0
  35. package/skills/hqsch-scenario-b/docs/rpc/placement-list-part-libraries.md +94 -0
  36. package/skills/hqsch-scenario-b/docs/rpc/placement-list-symbol-libraries.md +94 -0
  37. package/skills/hqsch-scenario-b/docs/rpc/placement-place-kicad-symbol.md +105 -0
  38. package/skills/hqsch-scenario-b/docs/rpc/placement-place-part-from-library.md +106 -0
  39. package/skills/hqsch-scenario-b/docs/rpc/placement-place-symbol-from-library.md +108 -0
  40. package/skills/hqsch-scenario-b/docs/rpc/project-get-active-project.md +96 -0
  41. package/skills/hqsch-scenario-b/docs/rpc/project-list-open-projects.md +99 -0
  42. package/skills/hqsch-scenario-b/docs/rpc-availability.md +97 -0
  43. package/skills/hqsch-scenario-b/docs/rpc-index/canvas.md +81 -0
  44. package/skills/hqsch-scenario-b/docs/rpc-index/find.md +36 -0
  45. package/skills/hqsch-scenario-b/docs/rpc-index/kernel.md +36 -0
  46. package/skills/hqsch-scenario-b/docs/rpc-index/netlist.md +38 -0
  47. package/skills/hqsch-scenario-b/docs/rpc-index/obj-place.md +76 -0
  48. package/skills/hqsch-scenario-b/docs/rpc-index/pattern-layout.md +38 -0
  49. package/skills/hqsch-scenario-b/docs/rpc-index/placement.md +48 -0
  50. package/skills/hqsch-scenario-b/docs/rpc-index/project.md +47 -0
  51. package/skills/hqsch-scenario-b/docs/serialization.md +60 -0
  52. package/skills/hqsch-scenario-b/docs/skill-dependencies.md +93 -0
  53. package/skills/hqsch-scenario-b/skill.json +13 -0
  54. package/skills/hqsch-scenario-b/template/package.json +16 -0
  55. package/skills/hqsch-scenario-b/template/scripts/edit-property-by-ref.ts +44 -0
  56. package/skills/hqsch-scenario-b/template/scripts/fix-designators.ts +52 -0
  57. package/skills/hqsch-scenario-b/template/scripts/hello.ts +46 -0
  58. package/skills/hqsch-scenario-b/template/scripts/read-circuit.ts +357 -0
  59. package/skills/hqsch-scenario-b/template/scripts/replace-part-by-ref.ts +44 -0
  60. package/skills/hqsch-scenario-b/template/scripts/rewire-pin-by-ref.ts +42 -0
  61. package/skills/hqsch-scenario-b/template/tsconfig.json +11 -0
  62. package/src/config.ts +25 -0
  63. package/src/index.ts +186 -0
  64. package/src/paths.ts +48 -0
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: canvas-auto-connect-objects-by-id
3
+ metadata:
4
+ category: canvas
5
+ service: CanvasOpsService
6
+ method: AutoConnectObjectsById
7
+ rpcKind: unary
8
+ description: >-
9
+ Auto Connect Objects By Id via CanvasOpsService.AutoConnectObjectsById
10
+ version: 0.1.0
11
+ vendor: Huaqiu Electronics
12
+ tags:
13
+ - eda
14
+ - huaqiu
15
+ - canvas
16
+ entry: "@huaqiu/hqeda"
17
+ manifest: "@huaqiu/hqeda/skill.json"
18
+ inputSchema:
19
+ name: AutoConnectObjectsRequestSchema
20
+ namespace: HqServicesV1CanvasOpsService
21
+ ---
22
+
23
+ # Auto Connect Objects By Id
24
+
25
+ Auto Connect Objects By Id via CanvasOpsService.AutoConnectObjectsById
26
+
27
+ ## Overview
28
+
29
+ This skill provides access to the **`CanvasOpsService.AutoConnectObjectsById`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
30
+
31
+ | Property | Value |
32
+ | --- | --- |
33
+ | Skill ID | `canvas-auto-connect-objects-by-id` |
34
+ | Service | `CanvasOpsService` |
35
+ | Method | `AutoConnectObjectsById` |
36
+ | Transport | Unary (unary) |
37
+ | Domain | canvas |
38
+ | Request type | `AutoConnectObjectsRequest` |
39
+ | Response type | `BoolResponse` |
40
+
41
+ ## Parameters
42
+
43
+ | Name | Type | Required | Repeated | Description |
44
+ | --- | --- | --- | --- | --- |
45
+ | `context` | `ProjectContext` | no | no | — |
46
+ | `objectId1` | `bigint` | yes | no | — |
47
+ | `pinNum1` | `number[]` | no | yes | — |
48
+ | `objectId2` | `bigint` | yes | no | — |
49
+ | `pinNum2` | `number[]` | no | yes | — |
50
+
51
+ ## Response
52
+
53
+ Returns a `BoolResponse` message with the following fields:
54
+
55
+ | Name | Type | Repeated | Description |
56
+ | --- | --- | --- | --- |
57
+ | `value` | `boolean` | no | — |
58
+
59
+ ## Response Example
60
+
61
+ Representative response structure (field values are placeholders):
62
+
63
+ ```json
64
+ {
65
+ "value": false
66
+ }
67
+ ```
68
+
69
+ ## Prerequisites
70
+
71
+ - [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
72
+
73
+ See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
74
+
75
+ ## How to Use
76
+
77
+ Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
78
+
79
+ ```typescript
80
+ import { getSkill, toJsonString } from "@huaqiu/hqeda";
81
+
82
+ const skill = getSkill("canvas-auto-connect-objects-by-id");
83
+ const result = await skill.execute({ client }, {
84
+ context: "<ProjectContext via client.createProjectContext('my-project')>",
85
+ objectId1: "123456789",
86
+ pinNum1: [{}],
87
+ });
88
+ console.log(toJsonString(result, { prettySpaces: 2 }));
89
+ ```
90
+
91
+ Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
92
+
93
+ ## Related Skills
94
+
95
+ - Other **canvas** skills: [`canvas/`](../)
96
+ - Full index: [All EDA skills](../../SKILL.md)
97
+ - Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/auto-connect-objects-by-id`
98
+
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: canvas-delete-objects-by-ids
3
+ metadata:
4
+ category: canvas
5
+ service: CanvasOpsService
6
+ method: DeleteObjectsByIds
7
+ rpcKind: unary
8
+ description: >-
9
+ Delete Objects By Ids via CanvasOpsService.DeleteObjectsByIds
10
+ version: 0.1.0
11
+ vendor: Huaqiu Electronics
12
+ tags:
13
+ - eda
14
+ - huaqiu
15
+ - canvas
16
+ entry: "@huaqiu/hqeda"
17
+ manifest: "@huaqiu/hqeda/skill.json"
18
+ inputSchema:
19
+ name: ObjectsByIdsRequestSchema
20
+ namespace: HqServicesV1CanvasOpsService
21
+ ---
22
+
23
+ # Delete Objects By Ids
24
+
25
+ Delete Objects By Ids via CanvasOpsService.DeleteObjectsByIds
26
+
27
+ ## Overview
28
+
29
+ This skill provides access to the **`CanvasOpsService.DeleteObjectsByIds`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
30
+
31
+ | Property | Value |
32
+ | --- | --- |
33
+ | Skill ID | `canvas-delete-objects-by-ids` |
34
+ | Service | `CanvasOpsService` |
35
+ | Method | `DeleteObjectsByIds` |
36
+ | Transport | Unary (unary) |
37
+ | Domain | canvas |
38
+ | Request type | `ObjectsByIdsRequest` |
39
+ | Response type | `SuccessResponse` |
40
+
41
+ ## Parameters
42
+
43
+ | Name | Type | Required | Repeated | Description |
44
+ | --- | --- | --- | --- | --- |
45
+ | `context` | `ProjectContext` | no | no | — |
46
+ | `objectIds` | `bigint[]` | no | yes | — |
47
+
48
+ ## Response
49
+
50
+ Returns a `SuccessResponse` message with the following fields:
51
+
52
+ | Name | Type | Repeated | Description |
53
+ | --- | --- | --- | --- |
54
+ | `success` | `boolean` | no | — |
55
+
56
+ ## Response Example
57
+
58
+ Representative response structure (field values are placeholders):
59
+
60
+ ```json
61
+ {
62
+ "success": false
63
+ }
64
+ ```
65
+
66
+ ## Prerequisites
67
+
68
+ - [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
69
+
70
+ See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
71
+
72
+ ## How to Use
73
+
74
+ Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
75
+
76
+ ```typescript
77
+ import { getSkill, toJsonString } from "@huaqiu/hqeda";
78
+
79
+ const skill = getSkill("canvas-delete-objects-by-ids");
80
+ const result = await skill.execute({ client }, {
81
+ context: "<ProjectContext via client.createProjectContext('my-project')>",
82
+ objectIds: ["123456789"],
83
+ });
84
+ console.log(toJsonString(result, { prettySpaces: 2 }));
85
+ ```
86
+
87
+ Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
88
+
89
+ ## Related Skills
90
+
91
+ - Other **canvas** skills: [`canvas/`](../)
92
+ - Full index: [All EDA skills](../../SKILL.md)
93
+ - Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/delete-objects-by-ids`
94
+
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: canvas-find-object-by-property
3
+ metadata:
4
+ category: canvas
5
+ service: CanvasOpsService
6
+ method: FindObjectByProperty
7
+ rpcKind: unary
8
+ description: >-
9
+ object property
10
+ version: 0.1.0
11
+ vendor: Huaqiu Electronics
12
+ tags:
13
+ - eda
14
+ - huaqiu
15
+ - canvas
16
+ entry: "@huaqiu/hqeda"
17
+ manifest: "@huaqiu/hqeda/skill.json"
18
+ inputSchema:
19
+ name: FindObjectByPropertyRequestSchema
20
+ namespace: HqServicesV1CanvasOpsService
21
+ ---
22
+
23
+ # Find Object By Property
24
+
25
+ object property
26
+
27
+ ## Overview
28
+
29
+ This skill provides access to the **`CanvasOpsService.FindObjectByProperty`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
30
+
31
+ | Property | Value |
32
+ | --- | --- |
33
+ | Skill ID | `canvas-find-object-by-property` |
34
+ | Service | `CanvasOpsService` |
35
+ | Method | `FindObjectByProperty` |
36
+ | Transport | Unary (unary) |
37
+ | Domain | canvas |
38
+ | Request type | `FindObjectByPropertyRequest` |
39
+ | Response type | `FindObjectByPropertyResponse` |
40
+
41
+ ## Parameters
42
+
43
+ | Name | Type | Required | Repeated | Description |
44
+ | --- | --- | --- | --- | --- |
45
+ | `context` | `ProjectContext` | no | no | — |
46
+ | `objTypeFilter` | `number` | yes | no | — |
47
+ | `propKey` | `string` | yes | no | — |
48
+ | `propValue` | `string` | yes | no | — |
49
+
50
+ ## Response
51
+
52
+ Returns a `FindObjectByPropertyResponse` message with the following fields:
53
+
54
+ | Name | Type | Repeated | Description |
55
+ | --- | --- | --- | --- |
56
+ | `success` | `boolean` | no | — |
57
+ | `objectIds` | `bigint[]` | yes | — |
58
+
59
+ ## Response Example
60
+
61
+ Representative response structure (field values are placeholders):
62
+
63
+ ```json
64
+ {
65
+ "success": false,
66
+ "objectIds": [
67
+ "123456789"
68
+ ]
69
+ }
70
+ ```
71
+
72
+ ## Prerequisites
73
+
74
+ - [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
75
+
76
+ See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
77
+
78
+ ## How to Use
79
+
80
+ Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
81
+
82
+ ```typescript
83
+ import { getSkill, toJsonString } from "@huaqiu/hqeda";
84
+
85
+ const skill = getSkill("canvas-find-object-by-property");
86
+ const result = await skill.execute({ client }, {
87
+ context: "<ProjectContext via client.createProjectContext('my-project')>",
88
+ objTypeFilter: 0,
89
+ propKey: "example",
90
+ });
91
+ console.log(toJsonString(result, { prettySpaces: 2 }));
92
+ ```
93
+
94
+ Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
95
+
96
+ ## Related Skills
97
+
98
+ - Other **canvas** skills: [`canvas/`](../)
99
+ - Full index: [All EDA skills](../../SKILL.md)
100
+ - Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/find-object-by-property`
101
+
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: canvas-list-wire-segments
3
+ metadata:
4
+ category: canvas
5
+ service: CanvasOpsService
6
+ method: ListWireSegments
7
+ rpcKind: unary
8
+ description: >-
9
+ List Wire Segments via CanvasOpsService.ListWireSegments
10
+ version: 0.1.0
11
+ vendor: Huaqiu Electronics
12
+ tags:
13
+ - eda
14
+ - huaqiu
15
+ - canvas
16
+ entry: "@huaqiu/hqeda"
17
+ manifest: "@huaqiu/hqeda/skill.json"
18
+ inputSchema:
19
+ name: CanvasContextRequestSchema
20
+ namespace: HqServicesV1CanvasOpsService
21
+ ---
22
+
23
+ # List Wire Segments
24
+
25
+ List Wire Segments via CanvasOpsService.ListWireSegments
26
+
27
+ ## Overview
28
+
29
+ This skill provides access to the **`CanvasOpsService.ListWireSegments`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
30
+
31
+ | Property | Value |
32
+ | --- | --- |
33
+ | Skill ID | `canvas-list-wire-segments` |
34
+ | Service | `CanvasOpsService` |
35
+ | Method | `ListWireSegments` |
36
+ | Transport | Unary (unary) |
37
+ | Domain | canvas |
38
+ | Request type | `CanvasContextRequest` |
39
+ | Response type | `ListWireSegmentsResponse` |
40
+
41
+ ## Parameters
42
+
43
+ | Name | Type | Required | Repeated | Description |
44
+ | --- | --- | --- | --- | --- |
45
+ | `context` | `ProjectContext` | no | no | — |
46
+
47
+ ## Response
48
+
49
+ Returns a `ListWireSegmentsResponse` message with the following fields:
50
+
51
+ | Name | Type | Repeated | Description |
52
+ | --- | --- | --- | --- |
53
+ | `wires` | `WireSegmentInfo[]` | yes | — |
54
+
55
+ ## Response Example
56
+
57
+ Representative response structure (field values are placeholders):
58
+
59
+ ```json
60
+ {
61
+ "wires": [
62
+ {}
63
+ ]
64
+ }
65
+ ```
66
+
67
+ ## Prerequisites
68
+
69
+ - [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
70
+
71
+ See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
72
+
73
+ ## How to Use
74
+
75
+ Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
76
+
77
+ ```typescript
78
+ import { getSkill, toJsonString } from "@huaqiu/hqeda";
79
+
80
+ const skill = getSkill("canvas-list-wire-segments");
81
+ const result = await skill.execute({ client }, {
82
+ context: "<ProjectContext via client.createProjectContext('my-project')>",
83
+ });
84
+ console.log(toJsonString(result, { prettySpaces: 2 }));
85
+ ```
86
+
87
+ Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
88
+
89
+ ## Related Skills
90
+
91
+ - Other **canvas** skills: [`canvas/`](../)
92
+ - Full index: [All EDA skills](../../SKILL.md)
93
+ - Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/list-wire-segments`
94
+
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: canvas-mirror-objects-by-ids
3
+ metadata:
4
+ category: canvas
5
+ service: CanvasOpsService
6
+ method: MirrorObjectsByIds
7
+ rpcKind: unary
8
+ description: >-
9
+ mode: 1|2|3 required; 0=no-op
10
+ version: 0.1.0
11
+ vendor: Huaqiu Electronics
12
+ tags:
13
+ - eda
14
+ - huaqiu
15
+ - canvas
16
+ entry: "@huaqiu/hqeda"
17
+ manifest: "@huaqiu/hqeda/skill.json"
18
+ inputSchema:
19
+ name: TransformObjectsByIdsRequestSchema
20
+ namespace: HqServicesV1CanvasOpsService
21
+ ---
22
+
23
+ # Mirror Objects By Ids
24
+
25
+ mode: 1|2|3 required; 0=no-op
26
+
27
+ ## Overview
28
+
29
+ This skill provides access to the **`CanvasOpsService.MirrorObjectsByIds`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
30
+
31
+ | Property | Value |
32
+ | --- | --- |
33
+ | Skill ID | `canvas-mirror-objects-by-ids` |
34
+ | Service | `CanvasOpsService` |
35
+ | Method | `MirrorObjectsByIds` |
36
+ | Transport | Unary (unary) |
37
+ | Domain | canvas |
38
+ | Request type | `TransformObjectsByIdsRequest` |
39
+ | Response type | `SuccessResponse` |
40
+
41
+ ## Parameters
42
+
43
+ | Name | Type | Required | Repeated | Description |
44
+ | --- | --- | --- | --- | --- |
45
+ | `context` | `ProjectContext` | no | no | — |
46
+ | `objectIds` | `bigint[]` | no | yes | — |
47
+ | `mode` | `number` | yes | no | For MirrorObjectsByIds: REQUIRED 1=horizontal, 2=vertical, 3=both (0=no-op, returns success=false). |
48
+
49
+ ## Response
50
+
51
+ Returns a `SuccessResponse` message with the following fields:
52
+
53
+ | Name | Type | Repeated | Description |
54
+ | --- | --- | --- | --- |
55
+ | `success` | `boolean` | no | — |
56
+
57
+ ## Response Example
58
+
59
+ Representative response structure (field values are placeholders):
60
+
61
+ ```json
62
+ {
63
+ "success": false
64
+ }
65
+ ```
66
+
67
+ ## Prerequisites
68
+
69
+ - [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
70
+
71
+ See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
72
+
73
+ ## How to Use
74
+
75
+ Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
76
+
77
+ ```typescript
78
+ import { getSkill, toJsonString } from "@huaqiu/hqeda";
79
+
80
+ const skill = getSkill("canvas-mirror-objects-by-ids");
81
+ const result = await skill.execute({ client }, {
82
+ context: "<ProjectContext via client.createProjectContext('my-project')>",
83
+ objectIds: ["123456789"],
84
+ mode: 0,
85
+ });
86
+ console.log(toJsonString(result, { prettySpaces: 2 }));
87
+ ```
88
+
89
+ Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
90
+
91
+ ## Related Skills
92
+
93
+ - Other **canvas** skills: [`canvas/`](../)
94
+ - Full index: [All EDA skills](../../SKILL.md)
95
+ - Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/mirror-objects-by-ids`
96
+
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: canvas-rotate-objects-by-ids
3
+ metadata:
4
+ category: canvas
5
+ service: CanvasOpsService
6
+ method: RotateObjectsByIds
7
+ rpcKind: unary
8
+ description: >-
9
+ Rotate Objects By Ids via CanvasOpsService.RotateObjectsByIds
10
+ version: 0.1.0
11
+ vendor: Huaqiu Electronics
12
+ tags:
13
+ - eda
14
+ - huaqiu
15
+ - canvas
16
+ entry: "@huaqiu/hqeda"
17
+ manifest: "@huaqiu/hqeda/skill.json"
18
+ inputSchema:
19
+ name: ObjectsByIdsRequestSchema
20
+ namespace: HqServicesV1CanvasOpsService
21
+ ---
22
+
23
+ # Rotate Objects By Ids
24
+
25
+ Rotate Objects By Ids via CanvasOpsService.RotateObjectsByIds
26
+
27
+ ## Overview
28
+
29
+ This skill provides access to the **`CanvasOpsService.RotateObjectsByIds`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
30
+
31
+ | Property | Value |
32
+ | --- | --- |
33
+ | Skill ID | `canvas-rotate-objects-by-ids` |
34
+ | Service | `CanvasOpsService` |
35
+ | Method | `RotateObjectsByIds` |
36
+ | Transport | Unary (unary) |
37
+ | Domain | canvas |
38
+ | Request type | `ObjectsByIdsRequest` |
39
+ | Response type | `SuccessResponse` |
40
+
41
+ ## Parameters
42
+
43
+ | Name | Type | Required | Repeated | Description |
44
+ | --- | --- | --- | --- | --- |
45
+ | `context` | `ProjectContext` | no | no | — |
46
+ | `objectIds` | `bigint[]` | no | yes | — |
47
+
48
+ ## Response
49
+
50
+ Returns a `SuccessResponse` message with the following fields:
51
+
52
+ | Name | Type | Repeated | Description |
53
+ | --- | --- | --- | --- |
54
+ | `success` | `boolean` | no | — |
55
+
56
+ ## Response Example
57
+
58
+ Representative response structure (field values are placeholders):
59
+
60
+ ```json
61
+ {
62
+ "success": false
63
+ }
64
+ ```
65
+
66
+ ## Prerequisites
67
+
68
+ - [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
69
+
70
+ See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
71
+
72
+ ## How to Use
73
+
74
+ Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
75
+
76
+ ```typescript
77
+ import { getSkill, toJsonString } from "@huaqiu/hqeda";
78
+
79
+ const skill = getSkill("canvas-rotate-objects-by-ids");
80
+ const result = await skill.execute({ client }, {
81
+ context: "<ProjectContext via client.createProjectContext('my-project')>",
82
+ objectIds: ["123456789"],
83
+ });
84
+ console.log(toJsonString(result, { prettySpaces: 2 }));
85
+ ```
86
+
87
+ Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
88
+
89
+ ## Related Skills
90
+
91
+ - Other **canvas** skills: [`canvas/`](../)
92
+ - Full index: [All EDA skills](../../SKILL.md)
93
+ - Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/rotate-objects-by-ids`
94
+
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: canvas-set-object-property
3
+ metadata:
4
+ category: canvas
5
+ service: CanvasOpsService
6
+ method: SetObjectProperty
7
+ rpcKind: unary
8
+ description: >-
9
+ Set Object Property via CanvasOpsService.SetObjectProperty
10
+ version: 0.1.0
11
+ vendor: Huaqiu Electronics
12
+ tags:
13
+ - eda
14
+ - huaqiu
15
+ - canvas
16
+ entry: "@huaqiu/hqeda"
17
+ manifest: "@huaqiu/hqeda/skill.json"
18
+ inputSchema:
19
+ name: SetObjectPropertyRequestSchema
20
+ namespace: HqServicesV1CanvasOpsService
21
+ ---
22
+
23
+ # Set Object Property
24
+
25
+ Set Object Property via CanvasOpsService.SetObjectProperty
26
+
27
+ ## Overview
28
+
29
+ This skill provides access to the **`CanvasOpsService.SetObjectProperty`** RPC method on the Huaqiu EDA engine. It is part of the **canvas** domain and executes against the `canvasOps` client.
30
+
31
+ | Property | Value |
32
+ | --- | --- |
33
+ | Skill ID | `canvas-set-object-property` |
34
+ | Service | `CanvasOpsService` |
35
+ | Method | `SetObjectProperty` |
36
+ | Transport | Unary (unary) |
37
+ | Domain | canvas |
38
+ | Request type | `SetObjectPropertyRequest` |
39
+ | Response type | `BoolResponse` |
40
+
41
+ ## Parameters
42
+
43
+ | Name | Type | Required | Repeated | Description |
44
+ | --- | --- | --- | --- | --- |
45
+ | `context` | `ProjectContext` | no | no | — |
46
+ | `objectId` | `bigint` | yes | no | — |
47
+ | `propKey` | `string` | yes | no | — |
48
+ | `propValue` | `string` | yes | no | — |
49
+ | `op` | `ObjPropOp` | yes | no | — |
50
+ | `commitUndo` | `boolean` | yes | no | — |
51
+
52
+ ## Response
53
+
54
+ Returns a `BoolResponse` message with the following fields:
55
+
56
+ | Name | Type | Repeated | Description |
57
+ | --- | --- | --- | --- |
58
+ | `value` | `boolean` | no | — |
59
+
60
+ ## Response Example
61
+
62
+ Representative response structure (field values are placeholders):
63
+
64
+ ```json
65
+ {
66
+ "value": false
67
+ }
68
+ ```
69
+
70
+ ## Prerequisites
71
+
72
+ - [project-get-active-project](../../project/get-active-project/SKILL.md) — Discover the active project before building project-scoped context.
73
+
74
+ See also [skill-dependencies.md](../../references/skill-dependencies.md) for common workflows.
75
+
76
+ ## How to Use
77
+
78
+ Execute via the HQ EDA skill runtime with a connected `EditorClient`. See [quickstart.md](../../references/quickstart.md) for the full `listEditors` → `connect` → `getSkill` → `execute` chain.
79
+
80
+ ```typescript
81
+ import { getSkill, toJsonString } from "@huaqiu/hqeda";
82
+
83
+ const skill = getSkill("canvas-set-object-property");
84
+ const result = await skill.execute({ client }, {
85
+ context: "<ProjectContext via client.createProjectContext('my-project')>",
86
+ objectId: "123456789",
87
+ propKey: "example",
88
+ });
89
+ console.log(toJsonString(result, { prettySpaces: 2 }));
90
+ ```
91
+
92
+ Serialize responses with `toJsonString()` — see [serialization.md](../../references/serialization.md).
93
+
94
+ ## Related Skills
95
+
96
+ - Other **canvas** skills: [`canvas/`](../)
97
+ - Full index: [All EDA skills](../../SKILL.md)
98
+ - Install: `npx skills add Huaqiu-Electronics/skills --path eda/canvas/set-object-property`
99
+