@celestia-island/plana-types 0.1.0 → 0.1.2

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 (85) hide show
  1. package/LICENSE +222 -0
  2. package/bindings/engine.ts +13 -1
  3. package/bindings/enums.ts +0 -2
  4. package/bindings/httpTypes.ts +0 -58
  5. package/bindings/mdd.ts +444 -0
  6. package/bindings/protocol-core-httpTypes.ts +69 -0
  7. package/bindings/{mcp → tools}/philia.ts +4 -4
  8. package/bindings/ws/agentLifecycle.ts +17 -4
  9. package/bindings/ws/core.ts +3 -3
  10. package/bindings/ws/handshake.ts +0 -4
  11. package/bindings/ws/layer2.ts +6 -6
  12. package/bindings/ws/realtime.ts +122 -0
  13. package/bindings/ws/tasks.ts +6 -1
  14. package/index.ts +74 -0
  15. package/package.json +13 -3
  16. package/Cargo.toml +0 -38
  17. package/bindings/FileAnchor.ts +0 -3
  18. package/bindings/index.ts +0 -47
  19. package/bindings/mcp/index.ts +0 -13
  20. package/bindings/package.json +0 -16
  21. package/bindings/region.ts +0 -3
  22. package/bindings/ws/baseMessages.ts +0 -7
  23. package/examples/schema_dump.rs +0 -51
  24. package/pnpm-workspace.yaml +0 -2
  25. package/src/engine.rs +0 -602
  26. package/src/enums.rs +0 -334
  27. package/src/external_mcp.rs +0 -132
  28. package/src/http.rs +0 -1077
  29. package/src/identity.rs +0 -160
  30. package/src/lib.rs +0 -1215
  31. package/src/malkuth.rs +0 -145
  32. package/src/mcp/aporia.rs +0 -272
  33. package/src/mcp/eleos.rs +0 -210
  34. package/src/mcp/epieikeia.rs +0 -194
  35. package/src/mcp/haplotes.rs +0 -310
  36. package/src/mcp/hubris.rs +0 -377
  37. package/src/mcp/kalos.rs +0 -251
  38. package/src/mcp/mod.rs +0 -23
  39. package/src/mcp/neikos.rs +0 -533
  40. package/src/mcp/orexis.rs +0 -493
  41. package/src/mcp/philia.rs +0 -267
  42. package/src/mcp/polemos.rs +0 -241
  43. package/src/mcp/skemma.rs +0 -442
  44. package/src/mcp/skopeo.rs +0 -282
  45. package/src/mcp/web_automation.rs +0 -122
  46. package/src/model.rs +0 -421
  47. package/src/protocol/base_messages.rs +0 -125
  48. package/src/protocol/handshake.rs +0 -364
  49. package/src/protocol/jsonrpc.rs +0 -888
  50. package/src/protocol/mod.rs +0 -10
  51. package/src/rbac.rs +0 -786
  52. package/src/region.rs +0 -362
  53. package/src/tracing_helpers.rs +0 -9
  54. package/src/ws/agent/agent_lifecycle.rs +0 -221
  55. package/src/ws/agent/layer2.rs +0 -126
  56. package/src/ws/agent/mod.rs +0 -9
  57. package/src/ws/agent/state_sync.rs +0 -111
  58. package/src/ws/agent/tasks.rs +0 -43
  59. package/src/ws/agent/yolo.rs +0 -161
  60. package/src/ws/mod.rs +0 -10
  61. package/src/ws/services/auth.rs +0 -99
  62. package/src/ws/services/industrial.rs +0 -647
  63. package/src/ws/services/knowledge_base.rs +0 -59
  64. package/src/ws/services/llm_provider.rs +0 -371
  65. package/src/ws/services/mod.rs +0 -7
  66. package/src/ws/ui/bridge_network.rs +0 -96
  67. package/src/ws/ui/file_browsing.rs +0 -88
  68. package/src/ws/ui/logs.rs +0 -55
  69. package/src/ws/ui/mod.rs +0 -11
  70. package/src/ws/ui/noa.rs +0 -105
  71. package/src/ws/ui/system_ui.rs +0 -27
  72. package/src/ws/ui/views.rs +0 -159
  73. package/src/ws/ui/workspace.rs +0 -73
  74. /package/bindings/{mcp → tools}/aporia.ts +0 -0
  75. /package/bindings/{mcp → tools}/eleos.ts +0 -0
  76. /package/bindings/{mcp → tools}/epieikeia.ts +0 -0
  77. /package/bindings/{mcp → tools}/haplotes.ts +0 -0
  78. /package/bindings/{mcp → tools}/hubris.ts +0 -0
  79. /package/bindings/{mcp → tools}/kalos.ts +0 -0
  80. /package/bindings/{mcp → tools}/neikos.ts +0 -0
  81. /package/bindings/{mcp → tools}/orexis.ts +0 -0
  82. /package/bindings/{mcp → tools}/polemos.ts +0 -0
  83. /package/bindings/{mcp → tools}/skemma.ts +0 -0
  84. /package/bindings/{mcp → tools}/skopeo.ts +0 -0
  85. /package/bindings/{mcp/webAutomation.ts → tools/web_automation.ts} +0 -0
package/LICENSE ADDED
@@ -0,0 +1,222 @@
1
+ SYNTHETIC SOURCE LICENSE
2
+ Version 1.0
3
+ June 2026
4
+
5
+ Copyright (c) 2026 langyo <sysl.contact@celestia.world>
6
+
7
+ Permission is hereby granted to reproduce and distribute this license document itself, unmodified, for the purpose of licensing software.
8
+
9
+ --------------------------------------------------------------------
10
+
11
+ PREAMBLE
12
+
13
+ The Synthetic Source License (SySL) is designed for software whose source code is substantially or entirely generated by artificial intelligence models. Traditional open source licenses assume a human author who holds copyright in the work. SySL acknowledges that AI-generated code occupies a novel legal position—one in which copyright protection may be uncertain, absent, or contested—and provides a framework that functions regardless.
14
+
15
+ SySL establishes three new norms for the AI era:
16
+
17
+ 1. TRANSPARENCY. Every user and every derivative must disclose that the code was AI-generated and which models were used.
18
+
19
+ 2. LEGAL CERTAINTY. The license operates as a binding contract independent of copyright, so uncertainty about copyright status does not create uncertainty about permitted use.
20
+
21
+ 3. RISK ACKNOWLEDGMENT. AI-generated code exhibits failure modes distinct from human-written code. Users accept these risks by using the Software under this license.
22
+
23
+ These norms are not restrictions on freedom. They are the foundation of a new social contract: we may build software with AI, but we must say so.
24
+
25
+ --------------------------------------------------------------------
26
+
27
+ TERMS AND CONDITIONS
28
+
29
+ 1. DEFINITIONS
30
+
31
+ "Software" means the source code, object code, documentation, and associated materials made available under this license.
32
+
33
+ "AI-Generated" means produced by an artificial intelligence model or system, including large language models, code generation models, and any other machine learning system.
34
+
35
+ "Author" means:
36
+
37
+ (a) the human or humans who directly directed the AI generation process through architecture design, prompt engineering, constraint specification, quality assurance, and integration; or
38
+
39
+ (b) if no human directly directed the AI generation, the human or humans who designed, configured, or deployed the AI system that autonomously directed the generation (the "Operator"); or
40
+
41
+ (c) if no human was involved at any level in directing the generation, the individual or legal entity that first Distributed the Software under this license.
42
+
43
+ "Model" means the specific AI system or systems used to generate the Software.
44
+
45
+ "You" means the individual or legal entity exercising permissions granted by this license.
46
+
47
+ "Contribution" means any modification, addition, translation, adaptation, or derivative work of the Software.
48
+
49
+ "Derivative Work" has the meaning given by applicable copyright law, or, where copyright does not apply, means any work that incorporates, modifies, or is based upon the Software.
50
+
51
+ "Distribute" means to provide a copy of the Software or a Derivative Work to any third party, whether by physical media, network transfer, or making available for download.
52
+
53
+ 2. DISCLOSURE OF AI GENERATION
54
+
55
+ 2.1 RETENTION OF NOTICE. You must retain, in every copy of the Software that You Distribute and in every Derivative Work distributed in source code form, the following notice in a prominent location (such as the root README file):
56
+
57
+ "NOTICE: This software includes code generated by artificial intelligence. See the LICENSE file for the Synthetic Source License terms, including model disclosure requirements."
58
+
59
+ 2.2 ORIGINAL DISCLOSURE. The Author's original disclosure of models used and generation context must be preserved verbatim in the Software. This disclosure shall be included at the end of the LICENSE file (see MODEL DISCLOSURE at the end of this document). No separate file is required.
60
+
61
+ 2.3 CONTRIBUTION DISCLOSURE. Every Contribution distributed as source code must include, at the file or commit level, a disclosure stating:
62
+
63
+ (a) whether the Contribution was AI-Generated, human-written, or a combination of both;
64
+
65
+ (b) which Model or Models were used, if any.
66
+
67
+ Only the primary AI models on which the Software's main body depends must be disclosed in the LICENSE file (see Section 2.2). Models used by contributors — regardless of the size or nature of their contributions — may instead be disclosed solely in the associated commit messages.
68
+
69
+ 2.4 OBJECT CODE NOTICE. If You distribute the Software or a Derivative Work solely in object code or executable form, You must include the notice required by Section 2.1 in a location visible to end users (such as an "About" dialog or accompanying documentation).
70
+
71
+ 2.5 NON-WAIVER. The disclosure obligations in this Section 2 may not be waived, removed, or contracted around. They are the fundamental consideration for the grants in this license.
72
+
73
+ 3. COPYRIGHT GRANT
74
+
75
+ 3.1 CONDITIONAL GRANT. To the extent the Software or any portion of it is protected by copyright, the Author grants You a perpetual, worldwide, non-exclusive, royalty-free, irrevocable (except as provided in Section 3.3) copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and Distribute the Software and Derivative Works, in source code or object code form.
76
+
77
+ 3.2 SCOPE. The grant in Section 3.1 is equivalent in scope to the copyright grant in the Apache License, Version 2.0. The SySL is designed to be compatible with Apache-2.0-licensed software: works combining SySL-licensed code with Apache-2.0-licensed code may be Distributed under Apache-2.0, provided that the disclosure requirements of Section 2 are independently satisfied.
78
+
79
+ 3.3 TERMINATION. If You institute patent litigation alleging that the Software infringes any patent, all rights granted to You under this license terminate.
80
+
81
+ 3.4 COPYRIGHT ELIGIBILITY ADVISORY. In many jurisdictions, works generated by AI without sufficient human creative contribution are not eligible for copyright protection. If the Software is found not to be copyrightable in whole or in part, the copyright grant in Section 3.1 will have no practical effect for those portions, and the parties' relationship shall instead be governed by the contract provisions of Section 5. Authors should not assume that copyright protection automatically extends to AI-generated code; the degree of human creative participation in directing, selecting, and refining the AI output is a critical factor under most copyright regimes.
82
+
83
+ 4. PATENT GRANT
84
+
85
+ 4.1 PATENT LICENSE. Subject to the terms of this license, the Author grants You a perpetual, worldwide, non-exclusive, royalty-free, irrevocable (except as provided in Section 3.3) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Software, where such license applies only to those patent claims licensable by the Author that are necessarily infringed by the Software alone or by the Software in combination with a Contribution.
86
+
87
+ 4.2 This patent grant is equivalent in scope to the patent grant in the Apache License, Version 2.0.
88
+
89
+ 4.3 PATENT ELIGIBILITY ADVISORY. The grant in Section 4.1 is effective only to the extent that the Author holds or has the right to sublicense patents covering the Software. If the Author does not hold any such patents, Section 4 operates as a contractual covenant only, not as a legally enforceable patent license.
90
+
91
+ 4.4 RECOMMENDATION TO FILE. Authors are strongly encouraged to file for patent protection on novel, non-obvious aspects of the Software before relying on Section 4 for patent enforcement. Without issued patents, the patent grant in Section 4.1 is an empty grant — it promises rights that do not exist. Filing patents first, then licensing under SySL, transforms Section 4 from a normative statement into a legally enforceable mechanism.
92
+
93
+ 4.5 AI INVENTORSHIP LIMITATION. In many jurisdictions, patent law requires that an inventor be a natural person. Where the Software is generated by AI with insufficient human inventive contribution to satisfy the inventorship requirements of applicable patent law, neither the Author nor any other party may be able to obtain valid patent protection for the Software. In such cases the grant in Section 4.1 will have no practical effect regardless of whether patent applications are filed. Authors should consult qualified patent counsel to assess whether their direction of the AI generation constitutes sufficient inventive contribution under the law of each relevant jurisdiction.
94
+
95
+ 5. CONTRACT STATUS
96
+
97
+ 5.1 INDEPENDENT CONTRACT. This license is a contract between the Author and You. By using, copying, modifying, or Distributing the Software, You accept and agree to be bound by all of its terms. No additional consideration is required.
98
+
99
+ 5.2 SEVERABILITY FROM COPYRIGHT. The validity and enforceability of this license do not depend on the existence, scope, or validity of copyright protection in the Software. If any portion of the Software is found not to be protected by copyright, this license shall continue in full force and effect as a contractual obligation.
100
+
101
+ 5.3 CONSTRUCTION. This license shall be construed as both a copyright license (to the maximum extent copyright applies) and a contractual covenant (to the extent copyright does not apply), such that the permitted uses are as broad as possible under any applicable legal theory.
102
+
103
+ 5.4 CONSIDERATION. The Author's consideration for this contract includes (i) the copyright and patent grants in Sections 3 and 4, (ii) the covenant not to assert any claim, in copyright, contract, or otherwise, against You for using the Software in accordance with this license, and (iii) the provision of the original model disclosure (see Section 2.2). Your consideration is compliance with the disclosure obligations in Section 2. If a court of competent jurisdiction finds that this contract lacks consideration, the Author's disclosure requirements in Section 2 shall nevertheless be construed as the Author's publicly stated expectations for the use of the Software. Nothing in this license shall be construed as the Author asserting rights the Author does not possess.
104
+
105
+ 6. DISCLAIMER OF WARRANTY
106
+
107
+ 6.1 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.
108
+
109
+ 6.2 AI-SPECIFIC DISCLAIMER. WITHOUT LIMITING THE GENERALITY OF SECTION 6.1, THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTY THAT THE SOFTWARE IS FREE FROM FAILURE MODES THAT ARE MATERIAL IN CONSEQUENCE AND MAY BE ATYPICAL OF HUMAN-WRITTEN CODE, INCLUDING BUT NOT LIMITED TO:
110
+
111
+ (a) PLAUSIBLE-APPEARING BUT LOGICALLY INCORRECT CODE;
112
+ (b) SECURITY VULNERABILITIES INHERITED FROM MODEL TRAINING DATA;
113
+ (c) NON-DETERMINISTIC BEHAVIOR ACROSS DIFFERENT MODEL VERSIONS;
114
+ (d) OUTPUT THAT CONFIDENTLY STATES FALSEHOODS;
115
+ (e) CODE THAT VIOLATES THIRD-PARTY INTELLECTUAL PROPERTY OWING TO THE MODEL'S TRAINING DATA (SEE ALSO SECTION 9.4, NO IP LAUNDERING); AND
116
+ (f) GENERATED CODE THAT REPLICATES VULNERABLE CODING PATTERNS FROM TRAINING DATA, PRODUCING BUGS THAT ARE PLAUSIBLE-APPEARING BUT INSECURE IN WAYS ATYPICAL OF HUMAN ERROR.
117
+
118
+ 6.3 The Author makes no warranty that the Software will meet Your requirements, operate uninterrupted, or be error-free, and the Author makes no warranty regarding the use or the results of the use of the Software in terms of correctness, accuracy, reliability, or otherwise.
119
+
120
+ 7. LIMITATION OF LIABILITY
121
+
122
+ 7.1 TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
123
+
124
+ 7.2 In jurisdictions that do not allow the exclusion or limitation of liability for certain damages, the Author's liability shall be limited to the maximum extent permitted by law, which may be zero.
125
+
126
+ 8. RECIPROCAL DISCLOSURE (SYNTHETIC COPYLEFT)
127
+
128
+ 8.1 SOURCE DISTRIBUTION. If You Distribute the Software or a Derivative Work in source code form, You must retain all AI-generation disclosures required by Section 2 and must add Your own Contribution disclosures as required by Section 2.3.
129
+
130
+ 8.2 OBJECT DISTRIBUTION. If You Distribute the Software or a Derivative Work solely in object code or executable form, You must include, with the Distribution:
131
+
132
+ (a) the AI-generation disclosure notice required by Section 2.1, visible to end users; and
133
+
134
+ (b) the model disclosure contained in the LICENSE file (see Section 2.2), from which end users can determine which Models were used to generate the Software.
135
+
136
+ 8.3 NO SOURCE CODE OBLIGATION. This Section 8 does not require You to distribute source code. The synthetic copyleft of SySL is limited to preserving the AI disclosure chain. You may distribute Derivative Works solely in object code form, provided the disclosure requirements of Sections 2 and 8.2 are satisfied. This is a deliberate design choice: SySL's copyleft concerns transparency, not source-sharing.
137
+
138
+ 8.4 COMPLIANCE THROUGH PUBLIC ACCESSIBILITY. The obligations of Section 8.2(b) are satisfied if You make the LICENSE file publicly accessible (for example, through a generally recognized code hosting platform such as GitHub, GitLab, or equivalent, or through a publicly accessible website) and include the access URL in the Distributed object code or its accompanying documentation.
139
+
140
+ 9. AI TRAINING AND INFRINGEMENT FORFEITURE
141
+
142
+ 9.1 AI TRAINING PERMISSION. This license permits the use of the Software, in whole or in part, as training data for artificial intelligence and machine learning systems. SySL operates as a knowledge exchange: the AI community may learn from SySL-licensed code on the same terms as human developers. This permission is granted to promote open advancement of AI capabilities and does not require separate authorization from the Author.
143
+
144
+ 9.2 INFRINGEMENT FORFEITURE. If any portion of the Software or a Contribution is found by a court of competent jurisdiction, or is acknowledged by the contributor, to infringe the valid intellectual property rights of a third party — including but not limited to patents covering innovative architectures, copyrights, or trade secrets — that portion shall automatically forfeit all rights and protections granted by this license. The forfeiting portion shall be treated as if it had never been licensed under SySL.
145
+
146
+ 9.3 SCOPE OF FORFEITURE. The forfeiture in Section 9.2 applies only to the specific portions found to infringe. Portions of the Software that are independent of, or separable from, the infringing material retain full protection under this license. The author of the infringing Contribution bears responsibility for identifying and removing infringing material.
147
+
148
+ 9.4 NO IP LAUNDERING. AI-generated code that reproduces protected expression, patented methods, or innovative architectural designs from a model's training data does not gain any additional protection under this license by virtue of being "AI-generated" or "transformative." SySL does not create a safe harbor for content that would be infringing if produced by a human. The origin of infringing material — whether human-authored or AI-generated — is irrelevant to the forfeiture analysis under Section 9.2.
149
+
150
+ 9.5 RESPECT FOR PRIOR INTELLECTUAL PROPERTY. Where the Software implements or incorporates an innovative architecture that is subject to another party's valid patent or other intellectual property right, that party's rights are not diminished, superseded, or affected by this license. Contributors must conduct due diligence to ensure their Contributions do not infringe the intellectual property of others, particularly when a Contribution implements architectural patterns that may be patented. The AI-generated nature of a Contribution does not excuse infringement, nor does it shift liability to the AI system, its provider, or the Author.
151
+
152
+ 10. TRADEMARKS
153
+
154
+ This license does not grant permission to use the trade names, trademarks, service marks, or product names of the Author, except as required for reasonable and customary use in describing the origin of the Software.
155
+
156
+ 11. COMPATIBILITY
157
+
158
+ 11.1 The SySL is designed to be compatible with the Apache License, Version 2.0, and the MIT License. Software licensed under SySL may be combined with software licensed under Apache-2.0 or MIT, and the combined work may be Distributed under the terms of Apache-2.0 or MIT, respectively, provided that SySL's disclosure requirements (Section 2) and reciprocal disclosure requirements (Section 8) are independently satisfied. For the avoidance of doubt, distributing under Apache-2.0 or MIT does not discharge the disclosure obligations — they travel with the SySL-originated code regardless of the license wrapper applied to the combined work. The SySL is not suitable for Authors who wish to release AI-generated Software without disclosure obligations.
159
+
160
+ 11.2 Compatibility with other licenses shall be evaluated on a case-by-case basis. The Author may publish compatibility determinations for additional licenses at <https://sysl.celestia.world>.
161
+
162
+ 11.3 LAYERED LICENSING. The SySL establishes transparency norms but imposes no commercial restrictions, no non-compete periods, and no change-date mechanism. A Licensor may offer the Software under SySL alongside additional licenses that impose such restrictions (for example, dual-licensing with the Business Source License 1.1). In such cases, You may choose which license terms to follow: the SySL (requiring only disclosure) or the additional license (imposing further restrictions). The SySL text itself remains unmodified. When using BUSL-1.1 as the additional license, Licensors of AI-Generated Software should specify SySL (not Apache-2.0 or MIT) as the Change License to ensure the transparency norm survives the non-compete period.
163
+
164
+ 12. SEVERABILITY
165
+
166
+ If any provision of this license is held to be unenforceable or invalid by a court of competent jurisdiction, such provision shall be reformed only to the extent necessary to make it enforceable, and the remaining provisions of this license shall remain in full force and effect.
167
+
168
+ 13. NO WAIVER
169
+
170
+ The failure of the Author to enforce any provision of this license shall not constitute a waiver of the Author's right to enforce such provision or any other provision in the future.
171
+
172
+ 14. GOVERNING LAW AND DISPUTE RESOLUTION
173
+
174
+ 14.1 This license shall be governed by general principles of international copyright law and construed to provide the broadest protection consistent with the terms herein.
175
+
176
+ 14.2 For the avoidance of doubt, where the Software is AI-Generated and the copyright status of such code is uncertain under the governing law, the provisions of this license shall be given maximum effect under applicable contract law.
177
+
178
+ 14.3 Any dispute arising out of or in connection with this license shall first be resolved through good-faith negotiation. If negotiation fails, the dispute shall be submitted to binding arbitration under the rules of an internationally recognized arbitration institution to be agreed upon by the parties.
179
+
180
+ 15. OFFICIAL TEXT AND TRANSLATIONS
181
+
182
+ 15.1 The authoritative text of this license is the English language version maintained in the official SySL repository at <https://github.com/celestia-island/sysl>.
183
+
184
+ 15.2 Translations of this license into other languages are provided for informational purposes only. In the event of any conflict between a translation and the English version, the English version shall prevail.
185
+
186
+ 16. VERSIONING
187
+
188
+ 16.1 The Author may publish revised versions of the Synthetic Source License from time to time. Each version will be distinguished by a version number.
189
+
190
+ 16.2 By default, Software licensed under "the Synthetic Source License, Version 1.0" (or "SySL-1.0") is governed by Version 1.0 as published on the date the Software was first Distributed.
191
+
192
+ 16.3 The Author may, in the Software's license declaration, specify that the Software is licensed under "SySL-1.0 or any later version," in which case You may choose to follow the terms of SySL-1.0 or the terms of any later version published by the Author.
193
+
194
+ END OF TERMS AND CONDITIONS
195
+
196
+ APPENDIX
197
+
198
+ How to Apply SySL to Your Software
199
+
200
+ To apply the Synthetic Source License to your work, attach the following boilerplate notice to each source file. The notice should be enclosed in the appropriate comment syntax for the file format.
201
+
202
+ [If you believe your work is protected by copyright, include the following line. If your work is AI-generated and copyright status is uncertain, you may omit the copyright line:]
203
+
204
+ Copyright (c) [year] [your name or organization]
205
+
206
+ Licensed under the Synthetic Source License, Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
207
+
208
+ https://github.com/celestia-island/sysl
209
+
210
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
211
+
212
+ AI MODEL DISCLOSURE: Complete the MODEL DISCLOSURE section at the end of this LICENSE file. See Section 2.2 of the License.
213
+
214
+ Complete the MODEL DISCLOSURE section at the end of this LICENSE file. List the primary AI models on which the Software's main body depends. For each model, include the model name, the organization that provides the model, and the vendor's official website URL. No separate file is required. See Section 2.2 of the License for the full requirement.
215
+
216
+ To license your software under "SySL-1.0 or any later version," you may include the phrase "or (at your option) any later version" in the boilerplate notice above. If you do not include this phrase, your software is licensed only under Version 1.0.
217
+ Human Author:
218
+ langyo <sysl.contact@celestia.world>
219
+
220
+ Primary AI Models Used:
221
+ GLM 5 / 5.1 / 5.2 / 5v Turbo — Zhipu AI — https://zhipu.ai
222
+ DeepSeek V4 Flash / Pro — DeepSeek — https://deepseek.ai
@@ -137,7 +137,19 @@ data?: JsonValue,
137
137
  * Optional shape hint for tensor/sensor parts, e.g. [1, 16000]
138
138
  * (channels × samples) or the sensor schema id.
139
139
  */
140
- shape?: Array<number>, };
140
+ shape?: Array<number>,
141
+ /**
142
+ * Optional positional marker (head/tail/frame index) for multimodal
143
+ * models whose input order carries semantics.
144
+ */
145
+ position?: EngineContentPosition, };
146
+
147
+ /**
148
+ * Positional constraint for a content part in multi-image/multi-frame
149
+ * modalities (e.g. text→video models that take a first-frame and a
150
+ * last-frame reference). `None` / absent means "any reference".
151
+ */
152
+ export type EngineContentPosition = { "kind": "head" } | { "kind": "tail" } | { "kind": "frame", index: number, };
141
153
 
142
154
  export type EngineEmbeddingsParams = { model: string, input: Array<string>, };
143
155
 
package/bindings/enums.ts CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  export type AnnotationType = "Note" | "Warning" | "Todo" | "Suggestion" | "Conflict";
4
4
 
5
- export type ConnectionType = "Local" | "RemoteLan" | "RemoteInternet";
6
-
7
5
  export type ConsultationStatus = "WaitingHuman" | "Pending" | "Answered" | "Delivered" | "Scheduled" | "Triggered" | "Cancelled" | "Replied";
8
6
 
9
7
  export type ContainerOpStatus = "Created" | "Running" | "Stopped" | "Removed" | "Forked";
@@ -14,11 +14,6 @@ export type AvatarPlatformResponse = { id: string, slug: string, label: string,
14
14
 
15
15
  export type AvatarUpdateResponse = { avatar_url: string | null, };
16
16
 
17
- /**
18
- * Backend build profile.
19
- */
20
- export type BackendKind = "dev" | "nightly" | "prod" | "mock";
21
-
22
17
  export type ChannelConfigDetail = { id: string, platform: string, enabled: boolean, name: string, description?: string, bot_token?: string, app_id?: string, app_secret?: string, verify_token?: string, api_base?: string, extra_config?: Record<string, unknown>, webhook_path: string, last_error?: string, last_tested_at?: string, created_at: string, updated_at: string, };
23
18
 
24
19
  export type ChannelConfigResponse = { config: ChannelConfigDetail, active: boolean, };
@@ -33,60 +28,22 @@ export type ChannelMessageItem = { id: string, platform: string, direction: stri
33
28
 
34
29
  export type ChannelMessageListResponse = { messages: Array<ChannelMessageItem>, count: number, };
35
30
 
36
- export type ConnectionStatus = { connected: boolean, latency: bigint, lastCheck: string, };
37
-
38
- export type CreatedResponse = { created: Array<string>, };
39
-
40
31
  export type CursorState = { workspace_id?: string, file?: string, line: number, column: number, total_lines?: number, language?: string, visible_range?: CursorVisibleRange, };
41
32
 
42
33
  export type CursorVisibleRange = { start: number, end: number, };
43
34
 
44
- export type DeletedResponse = { deleted: bigint, };
45
-
46
35
  export type DeliveryListResponse = { deliveries: Array<Record<string, unknown>>, count: number, };
47
36
 
48
37
  export type DeviceResponse = { id: string, device_id: string, name: string, device_type: string, status: string, last_seen_at: string | null, metadata?: Record<string, unknown>, created_at: string, };
49
38
 
50
- export type ErrorResponse = { error: string, message?: string, };
51
-
52
39
  export type FileEntry = { name: string, type: string, size: bigint | null, };
53
40
 
54
41
  export type FileListingResponse = { path: string, entries: Array<FileEntry>, };
55
42
 
56
- export type GrantItem = { id: string, scope: string, user_id: string | null, group_id: string | null, permission: string, resource_id: string | null, granted: boolean, created_at: string, };
57
-
58
- export type GrantListResponse = { grants: Array<GrantItem>, };
59
-
60
- export type HealthDetailed = { shittimChest: ConnectionStatus, scepter: ConnectionStatus, database: ConnectionStatus, activeSessions: number, uptime: bigint, version: string, };
61
-
62
- /**
63
- * Standard /api/health response for all plana backends.
64
- */
65
- export type HealthResponse = { status: ServiceStatus, version: string, kind: BackendKind, uptime: bigint, network: NetworkInfo, build_hash: string | null, engine_version: string | null, };
66
-
67
- export type IdResponse = { id: string, };
68
-
69
43
  export type IpWhitelistResponse = { enabled: boolean, whitelist: Array<Record<string, unknown>>, };
70
44
 
71
45
  export type ModelInfo = { id: string, provider_name: string, provider_id: string, category: string, };
72
46
 
73
- export type MyPermissions = { role: string, permissions: Array<string>, };
74
-
75
- /**
76
- * Network context from the incoming request.
77
- */
78
- export type NetworkInfo = { transport: string, region: string, asn: number | null, };
79
-
80
- export type OAuthProvider = { provider: string, client_id: string, client_secret_masked: string, public_domain: string, enabled: boolean, };
81
-
82
- export type OkIdResponse = { ok: boolean, id: string, };
83
-
84
- export type OkMessageResponse = { ok: boolean, message: string, };
85
-
86
- export type OkResponse = { ok: boolean, };
87
-
88
- export type PermissionsResponse = { role: string, permissions: Array<string>, };
89
-
90
47
  export type ProjectItem = { id: string, name: string, description: string | null, sort_order: number, created_at: string, updated_at: string, };
91
48
 
92
49
  export type ProviderPublic = { id: string, name: string, endpoint: string, api_key_masked: string, models: Array<string>, category: string, is_default: boolean, enabled: boolean, priority: number, };
@@ -95,14 +52,6 @@ export type ProxySystemInfo = { version: string, nodeVersion: string, platform:
95
52
 
96
53
  export type RbacGroup = { id: string, name: string, description: string, member_count: number, created_at: string, updated_at: string, };
97
54
 
98
- export type RbacGroupsResponse = { groups: Array<RbacGroup>, };
99
-
100
- export type RbacUser = { id: string, username: string, email: string, display_name: string, avatar_url: string | null, is_active: boolean, is_admin: boolean, role: string, tier: string, created_at: string, };
101
-
102
- export type RbacUsersResponse = { users: Array<RbacUser>, };
103
-
104
- export type ReadinessResponse = { status: string, database: boolean, };
105
-
106
55
  export type ResourceQuota = { id: string, name: string, resource_type: string, limit_value: number, limit_unit: string, used_value: number, period: string, tier: string, enabled: boolean, };
107
56
 
108
57
  export type ResourceQuotaListResponse = { quotas: Array<ResourceQuota>, };
@@ -127,11 +76,6 @@ export type SceneLighting = { ambient_color: [number, number, number], ambient_i
127
76
 
128
77
  export type SceneVec3 = { x: number, y: number, z: number, };
129
78
 
130
- /**
131
- * Service health status. Serde uses lowercase so JSON returns "ok" etc.
132
- */
133
- export type ServiceStatus = "ok" | "degraded" | "unhealthy";
134
-
135
79
  export type SessionCreateResponse = { session_id: string, status: string, signaling?: Record<string, unknown>, };
136
80
 
137
81
  export type SetupCheckResponse = { needs_setup: boolean, locale?: string, registration_enabled: boolean, };
@@ -140,8 +84,6 @@ export type SkillItem = { skill_id: string, name: string, description: string, c
140
84
 
141
85
  export type SkillParameterItem = { name: string, type: string, default?: unknown, description: string | null, required: boolean, };
142
86
 
143
- export type StatusResponse = { status: string, agent_id?: string, platform?: string, id?: string, plugin_id?: string, };
144
-
145
87
  export type SystemInfoAgents = { total: number, running: number, idle: number, stopped: number, };
146
88
 
147
89
  export type SystemInfoConnections = { active_ws: number, active_http: number, };