@yieldfabric/terminal 1.0.0 → 1.1.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/LICENSE.md ADDED
@@ -0,0 +1,293 @@
1
+ # YieldFabric Proprietary Source Code Review and Non-Use Agreement
2
+
3
+ Version 1.0
4
+
5
+ Copyright (c) 2026 YieldFabric Technologies Ltd, DIFC, UAE.
6
+ All rights reserved.
7
+
8
+ ## 1. Parties, scope, and acceptance
9
+
10
+ 1.1. "YieldFabric" means YieldFabric Technologies Ltd, incorporated in the
11
+ Dubai International Financial Centre, United Arab Emirates. "Customer" means
12
+ the legal entity identified in a Source Review Authorization signed by both
13
+ parties. That authorization and this version of these terms together form
14
+ the "Agreement".
15
+
16
+ 1.2. These materials are proprietary. Possession of a copy, access to a
17
+ repository, package installation, technical documentation, or payment for
18
+ another YieldFabric service does not by itself grant a source-code license.
19
+ Review access under this Agreement begins only after both parties sign an
20
+ authorization incorporating these terms. YieldFabric supplies the customer
21
+ authorization form; the source repository includes the template as
22
+ `SOURCE_REVIEW_AUTHORIZATION.md`. A separate express written license from
23
+ YieldFabric may grant other specified rights.
24
+
25
+ 1.3. "Source Materials" means the YieldFabric-owned source code in the
26
+ repositories and exact snapshots identified in the authorization, together
27
+ with associated comments, scripts, tests, type declarations, schemas,
28
+ designs, specifications, documentation, and extracts made available for
29
+ review. Updates, other repositories, and repository history are excluded
30
+ unless expressly identified in an additional written authorization.
31
+
32
+ 1.4. "Confidential Information" means non-public Source Materials and
33
+ non-public technical or business information disclosed by YieldFabric in
34
+ connection with the review, including architecture, algorithms, methods,
35
+ workflows, security designs, know-how, and information learned through the
36
+ review. It includes notes, analyses, reports, and other records to the extent
37
+ they contain or reveal that information. Information marked confidential or
38
+ reasonably understood to be confidential from its nature or the circumstances
39
+ of disclosure is covered.
40
+
41
+ 1.5. These terms govern Customer and its Authorized Reviewers. They do not
42
+ restrict YieldFabric's own development, licensing, or use of its property, or
43
+ work performed on its behalf under its separate written authorizations.
44
+
45
+ ## 2. Limited permission to view
46
+
47
+ 2.1. During the specified access period, YieldFabric grants Customer a limited,
48
+ revocable, non-exclusive, non-transferable, non-sublicensable permission for
49
+ the individuals named in the authorization ("Authorized Reviewers") to
50
+ visually inspect the identified Source Materials solely for the exact
51
+ internal assessment described there ("Review Purpose").
52
+
53
+ 2.2. Inspection may take place only in the review environment identified by
54
+ YieldFabric. Only transient technical copies strictly necessary to display
55
+ the materials in that environment are permitted. There is no permission to
56
+ clone, pull, download, export, print, photograph, screen-record, or retain the
57
+ Source Materials, or to copy them to a clipboard or another system. Technical
58
+ availability of any such function does not authorize its use.
59
+
60
+ 2.3. Unless the authorization expressly permits them, Customer may not make
61
+ review notes or reports containing source excerpts or confidential technical
62
+ detail. Any permitted notes or reports must remain in the approved environment,
63
+ be used only for the Review Purpose, and remain subject to this Agreement.
64
+ Disclosure of findings is limited to Authorized Reviewers and YieldFabric.
65
+
66
+ 2.4. No right to compile, build, execute, test by execution, deploy, host,
67
+ integrate, modify, distribute, or commercially exploit the Source Materials
68
+ is granted. Rights to use any runtime package, compiled output, hosted service,
69
+ or API require a separate express license. Technical examples and installation
70
+ instructions do not expand this permission.
71
+
72
+ ## 3. Prohibited copying, development, and other use
73
+
74
+ 3.1. Except for the specific permission in section 2 or an express written
75
+ exception signed by YieldFabric, Customer shall not, directly or indirectly:
76
+
77
+ - reproduce, modify, translate, adapt, port, distribute, publish, sell,
78
+ license, sublicense, assign, or otherwise transfer the Source Materials;
79
+ - create derivative works, replacement implementations, or other software,
80
+ products, services, designs, or specifications using the Source Materials
81
+ or Confidential Information;
82
+ - extract, reconstruct, or reimplement confidential algorithms, architecture,
83
+ methods, workflows, or know-how, including in another programming language;
84
+ - use the Source Materials or Confidential Information for development,
85
+ competitive analysis, benchmarking, commercialization, or any purpose
86
+ outside the Review Purpose;
87
+ - direct, enable, or assist another person to perform a prohibited act,
88
+ including by passing on descriptions, specifications, or remembered details;
89
+ - remove or obscure proprietary notices, circumvent review controls, or
90
+ represent that access grants ownership or broader rights.
91
+
92
+ The permitted visual inspection itself is not prohibited by this section.
93
+
94
+ 3.2. Customer receives no "residuals" right to use or disclose Confidential
95
+ Information retained in unaided memory. Remembering information, changing its
96
+ form, or avoiding literal copying does not authorize its use.
97
+
98
+ 3.3. Confidentiality and confidential-information non-use restrictions do not
99
+ apply to information Customer demonstrates through contemporaneous written
100
+ records: (a) was lawfully known to it without restriction before disclosure;
101
+ (b) became publicly available without breach by Customer or its representatives;
102
+ (c) was lawfully received from a third party entitled to disclose it without
103
+ restriction; or (d) was independently developed without using or referring
104
+ to the Source Materials or Confidential Information. Public knowledge of
105
+ individual elements does not establish that a confidential combination is
106
+ public. These exceptions do not grant rights in YieldFabric's copyrighted
107
+ expression, patents, or other protected property.
108
+
109
+ ## 4. No patenting or appropriation of disclosed technology
110
+
111
+ 4.1. Customer shall not directly or indirectly apply for, procure, prosecute,
112
+ or assist any person in obtaining any patent, utility model, or other
113
+ registered intellectual property right claiming subject matter derived from
114
+ or developed using the Source Materials or Confidential Information. Customer
115
+ shall not acquire or assert such a right against YieldFabric, its licensees,
116
+ or customers. No patent license is granted by this Agreement.
117
+
118
+ 4.2. "Restricted Developments" means modifications, derivative works, or
119
+ inventions created by or for Customer through an act prohibited by section 3
120
+ and incorporating, derived from, or developed using the Source Materials or
121
+ Confidential Information. To the extent legally permitted, Customer hereby
122
+ assigns to YieldFabric all intellectual property rights that Customer owns
123
+ or subsequently acquires in Restricted Developments. Where a present
124
+ assignment is ineffective, Customer shall assign those rights promptly when
125
+ they arise or are acquired and execute the documents necessary to do so.
126
+
127
+ 4.3. Customer shall promptly notify YieldFabric of any Restricted Development
128
+ or application contrary to this section, preserve relevant evidence, and
129
+ reasonably cooperate in establishing and protecting YieldFabric's rights.
130
+ Customer must secure obligations from Authorized Reviewers sufficient to
131
+ perform this section. This clause does not authorize prohibited development
132
+ or grant Customer a license back.
133
+
134
+ 4.4. This section does not assign Customer's independently developed technology,
135
+ pre-existing rights, or ownership of ordinary review commentary that does not
136
+ constitute a Restricted Development. Any confidential content in commentary
137
+ remains protected. It does not alter legally required inventorship, assign
138
+ rights Customer does not own or acquire, or purport to bind an unrelated
139
+ third party that has not agreed to these obligations.
140
+
141
+ ## 5. Confidentiality, people, and security
142
+
143
+ 5.1. Customer shall keep the Source Materials and Confidential Information
144
+ confidential, use them only for the Review Purpose, and protect them with
145
+ at least reasonable care and no less than the care used for its own most
146
+ sensitive confidential technical information.
147
+
148
+ 5.2. Access is limited to Authorized Reviewers with a need to know for the
149
+ Review Purpose. Before access, each must be bound by written confidentiality,
150
+ non-use, and intellectual property obligations sufficient to give effect to
151
+ this Agreement. Customer is responsible for their acts and omissions as if
152
+ they were its own. Affiliates, contractors, advisers, and auditors receive
153
+ no automatic access and must be expressly approved and named.
154
+
155
+ 5.3. Customer shall use individual accounts, the authentication and access
156
+ controls required by YieldFabric, and only approved devices, locations, and
157
+ environments. Account sharing and onward disclosure are prohibited. Customer
158
+ must not connect unapproved repository integrations, bots, or external services.
159
+
160
+ 5.4. Customer shall notify YieldFabric without undue delay, and in any event
161
+ within 24 hours after becoming aware, of suspected unauthorized access, use,
162
+ copying, disclosure, or loss. It shall immediately contain the incident,
163
+ preserve evidence, and cooperate reasonably with investigation and remediation.
164
+
165
+ 5.5. If disclosure is required by law or a binding order, Customer may disclose
166
+ only what is legally required. To the extent lawful, it must first give
167
+ YieldFabric prompt notice and reasonable assistance to seek protective
168
+ measures, and seek confidential treatment. This does not authorize voluntary
169
+ public disclosure or further use.
170
+
171
+ ## 6. AI, automated processing, and external tools
172
+
173
+ Without YieldFabric's prior express written authorization, Customer shall not
174
+ submit, upload, expose, or make available the Source Materials or Confidential
175
+ Information to AI assistants, code-generation tools, external analysis or
176
+ indexing services, or other automated processing systems. This includes
177
+ prompts, retrieval indexes, embeddings, training or evaluation datasets,
178
+ model training or fine-tuning, and generating code or specifications from
179
+ the disclosure. These restrictions apply to local and hosted systems alike.
180
+ Only the tools and processing expressly approved for the Review Purpose may
181
+ be used; approval does not permit use for another purpose.
182
+
183
+ ## 7. Ownership, third-party materials, and reserved rights
184
+
185
+ 7.1. YieldFabric retains its rights, title, and interest in its Source Materials
186
+ and intellectual property. Disclosure creates no sale, joint ownership,
187
+ work-for-hire relationship, or implied license. All rights not expressly
188
+ granted are reserved. Customer shall retain all proprietary notices on any
189
+ copy expressly permitted by YieldFabric.
190
+
191
+ 7.2. Third-party components remain owned by their respective owners and are
192
+ governed by their applicable licenses. This Agreement does not relicense them,
193
+ claim ownership of them, or remove rights granted by their licenses. Customer
194
+ receives no broader rights in YieldFabric's own materials merely because
195
+ third-party components are used with them. See [NOTICE.md](NOTICE.md).
196
+
197
+ 7.3. General feedback provisions do not expand Customer's right to use or
198
+ disclose the Source Materials or Confidential Information. No right to use
199
+ YieldFabric's names, trademarks, or branding is granted.
200
+
201
+ ## 8. Expiry, termination, and survival
202
+
203
+ 8.1. Permission expires on the authorization's end date. YieldFabric may revoke
204
+ or suspend review access at any time by written notice, and immediately upon
205
+ suspected breach. Customer may terminate its review by written notice.
206
+
207
+ 8.2. On expiry, termination, or YieldFabric's written request, Customer shall
208
+ immediately cease access and use. Within five business days it shall return
209
+ or securely delete all Source Materials and Confidential Information in its
210
+ possession or control, including permitted notes, extracts, and copies, and
211
+ provide a deletion certificate signed by an authorized officer. YieldFabric
212
+ controls deletion within its own review environment; Customer must cooperate.
213
+
214
+ 8.3. Retention is permitted only to the extent required by mandatory law or
215
+ a binding preservation order. Such material must be isolated, access restricted
216
+ to legal or compliance custodians, remain subject to this Agreement, and be
217
+ deleted when retention is no longer required. Ordinary backup policies do
218
+ not authorize retention or creation of additional copies.
219
+
220
+ 8.4. Confidentiality and confidential-information non-use obligations survive
221
+ for as long as the relevant information remains confidential, subject to
222
+ section 3.3; trade secrets remain protected for as long as they qualify for
223
+ protection. Ownership, assignment, accrued claims, remedies, and dispute
224
+ provisions survive termination. Expiry or termination never grants a right
225
+ to use, copy, or exploit the Source Materials.
226
+
227
+ ## 9. Review conditions and remedies
228
+
229
+ 9.1. Materials are provided "as is" and "as available", without a commitment
230
+ to accuracy, completeness, fitness for a purpose, support, maintenance, or
231
+ continued access, to the extent permitted by applicable law. A review does
232
+ not authorize reliance on the materials for operating a production system.
233
+
234
+ 9.2. Customer acknowledges that unauthorized use or disclosure may cause harm
235
+ that monetary damages alone cannot adequately remedy. YieldFabric may seek
236
+ interim and final injunctive relief, specific performance, damages, and other
237
+ available remedies. Relief remains subject to the requirements and discretion
238
+ of the competent court; no remedy is automatic.
239
+
240
+ 9.3. Customer is responsible for loss caused by its breach, subject to
241
+ applicable law. YieldFabric may recover enforcement costs to the extent
242
+ awarded by a court or otherwise permitted by law. A general liability cap
243
+ in another agreement does not limit Customer's liability under this Agreement
244
+ unless a signed provision expressly identifies this Agreement and that limit.
245
+ No fixed penalty or automatic damages amount is imposed.
246
+
247
+ ## 10. Governing law and jurisdiction
248
+
249
+ 10.1. This Agreement and non-contractual obligations arising from it are
250
+ governed by the laws in force in the Dubai International Financial Centre,
251
+ United Arab Emirates, subject to applicable mandatory law.
252
+
253
+ 10.2. Both parties expressly and irrevocably agree in writing to the exclusive
254
+ jurisdiction of the Courts of the Dubai International Financial Centre
255
+ ("DIFC Courts") over disputes arising out of or relating to this Agreement,
256
+ including its formation, validity, interpretation, performance, breach,
257
+ termination, and associated non-contractual obligations.
258
+
259
+ 10.3. Either party may seek urgent interim or protective relief from another
260
+ court of competent jurisdiction, or seek recognition or enforcement of a
261
+ judgment there. Doing so does not change the agreed forum for the merits of
262
+ the dispute. The parties do not represent that foreign enforcement is automatic.
263
+
264
+ ## 11. Mandatory rights and general terms
265
+
266
+ 11.1. Nothing restricts rights or exceptions that applicable law does not
267
+ permit the parties to exclude, or excludes liability that cannot lawfully
268
+ be excluded. Any such exception applies only to its legally required extent
269
+ and does not create a general right to reuse confidential information.
270
+
271
+ 11.2. If a provision is unenforceable, it is severed only to the extent
272
+ necessary, and the remaining provisions continue to apply to the extent
273
+ permitted by law. Any permissible narrowing must preserve the agreed
274
+ protective purpose as closely as the law allows.
275
+
276
+ 11.3. This Agreement governs the authorized source review. A conflicting term
277
+ in another agreement, purchase order, portal, feedback policy, or residuals
278
+ clause does not override it unless an instrument signed by both parties
279
+ expressly identifies this Agreement and the provision being overridden.
280
+ Other expressly licensed runtime or service rights remain governed by their
281
+ separate agreements.
282
+
283
+ 11.4. Amendments must be in writing and signed by both parties. A later
284
+ repository edit does not amend an already executed Agreement. Additional
285
+ reviewers or access details may be approved in writing by the designated
286
+ YieldFabric representative only within the existing Review Purpose,
287
+ restrictions, and term; a broader grant requires a signed amendment.
288
+
289
+ 11.5. Customer may not assign this Agreement or delegate its rights without
290
+ YieldFabric's prior written consent. Failure or delay to enforce a provision
291
+ does not waive it. Notices go to the contacts specified in the authorization.
292
+ Counterparts and electronic signatures may be used to the extent recognized
293
+ by applicable law.
package/NOTICE.md ADDED
@@ -0,0 +1,28 @@
1
+ # Proprietary and third-party notices
2
+
3
+ Copyright (c) 2026 YieldFabric Technologies Ltd, DIFC, UAE.
4
+ All rights reserved.
5
+
6
+ YieldFabric's source code and associated non-public materials are proprietary
7
+ and confidential. Source review requires an express written authorization
8
+ from YieldFabric. The terms of that review are in [LICENSE.md](LICENSE.md).
9
+ Possession, repository access, documentation, and package installation do not
10
+ themselves grant permission to use, copy, modify, distribute, reimplement, or
11
+ patent subject matter derived from those materials.
12
+
13
+ Runtime and integration rights require a separate express license.
14
+ This notice does not limit YieldFabric's own rights or separately authorized
15
+ work performed on its behalf.
16
+
17
+ ## Third-party materials
18
+
19
+ Third-party dependencies, peer dependencies, and any separately identified
20
+ third-party material remain owned by their respective owners and subject to
21
+ their own licenses. YieldFabric does not claim ownership of those materials
22
+ or replace their licenses with its source-review terms.
23
+
24
+ Dependency names and versions are recorded in the package manifest and lockfile.
25
+ Consult each component's own license and notices for the applicable terms.
26
+ This file is an ownership notice, not a complete dependency license inventory.
27
+ Before any authorized distribution, preserve required third-party notices
28
+ and review the components actually included in the distributed artifact.
package/README.md CHANGED
@@ -1,15 +1,28 @@
1
1
  # @yieldfabric/terminal
2
2
 
3
+ **Proprietary and confidential — Copyright (c) 2026 YieldFabric Technologies Ltd,
4
+ DIFC, UAE. All rights reserved.** Source review requires a signed Source Review
5
+ Authorization incorporating [LICENSE.md](LICENSE.md). Review access permits
6
+ visual inspection only. Obtain the authorization form from YieldFabric.
7
+ The installation, build, and integration instructions below are for YieldFabric
8
+ developers or users with a separate express license permitting those activities.
9
+ See [NOTICE.md](NOTICE.md) for ownership and third-party notices.
10
+
3
11
  Reusable AI-powered terminal component for YieldFabric applications.
4
12
 
5
13
  ## Installation
6
14
 
7
- Published to the **public npm registry** — no scope `.npmrc`, no token:
15
+ For authorized runtime use, install the versioned compiled package from npm:
8
16
 
9
17
  ```bash
10
- npm install @yieldfabric/terminal
18
+ npm install --save-exact @yieldfabric/terminal@1.1.0
11
19
  ```
12
20
 
21
+ The package is publicly downloadable from npm; neither repository access nor an
22
+ npm token is required to install it.
23
+ The package contains compiled JavaScript and TypeScript declarations, without
24
+ TypeScript source or source maps. The existing license and notices still apply.
25
+
13
26
  ### Peer dependencies
14
27
 
15
28
  `react` and `react-dom` (^18) are peer deps — install them in the host app.
@@ -81,6 +94,38 @@ function MyPage() {
81
94
  }
82
95
  ```
83
96
 
97
+ ### Activating cited sources
98
+
99
+ `ChatTerminal` and `StandardTerminal` can expose each cited source as an
100
+ independent control. The host application decides what activation means, such
101
+ as opening a file drawer:
102
+
103
+ ```typescript
104
+ <ChatTerminal
105
+ config={config}
106
+ onStreamRequest={handleStreaming}
107
+ onSourceActivate={(source, entry) => openSource(source.id)}
108
+ />
109
+ ```
110
+
111
+ Use `onSourcesActivate` instead when the complete citation set should be
112
+ handled as one action.
113
+
114
+ ### Completion and authenticated run controls
115
+
116
+ Pass current credentials through `config.getAuthHeaders` (or the terminal's
117
+ `authToken`) so guidance and cancellation requests use the renewed session.
118
+ Failed guidance cannot advance a pipeline, and a rejected cancellation keeps
119
+ the run marked as running.
120
+
121
+ The app's `/chat` adapter requires an explicit `is_final` event. Its
122
+ `completion: AgentCompletion` is retained in `entry.metadata.completion`, along
123
+ with sources and agent attribution. Incomplete, cancelled, failed, and interrupted
124
+ answers have visible outcome notices; an interrupted stream retains received
125
+ text and warns that the server may still be working. Persist and restore this
126
+ metadata with the message so reload does not turn a partial answer into success.
127
+ Other SSE endpoints can opt into the same `requireFinal` decoder contract.
128
+
84
129
  ## Building
85
130
 
86
131
  Built with [tsup](https://tsup.egoist.dev/) → dual ESM + CJS bundles plus
@@ -93,18 +138,29 @@ npm run dev # watch mode
93
138
  npm run typecheck # tsc --noEmit
94
139
  ```
95
140
 
96
- ## Publishing
141
+ ## Controlled distribution
142
+
143
+ Publication targets the npm registry using the existing `prepublishOnly` build
144
+ hook. `publishConfig.access: public` publishes the compiled artifact publicly.
145
+ The source repository retains its separate Git hosting access controls.
146
+ An authorized release requires an unused version and npm publish rights.
97
147
 
98
- Public scoped package on the **public npm registry** (`publishConfig.access:
99
- public`). Requires the `yieldfabric` scope = an npm org (or user) named
100
- `yieldfabric`. `npm login` once, then:
148
+ For YieldFabric's authorized preparation of a runtime artifact:
101
149
 
102
150
  ```bash
103
- npm publish # prepublishOnly cleans + rebuilds first
151
+ npm run build
152
+ npm pack --dry-run --ignore-scripts
104
153
  ```
105
154
 
106
- Bump `version` in `package.json` first (npm rejects re-publishing an existing
107
- version). The tarball ships `dist/` + `README.md` only — no `src/`, no maps.
155
+ The package allowlist contains only `dist/index.js`, `dist/index.cjs`,
156
+ `dist/index.d.ts`, `dist/index.d.cts`, `README.md`, `LICENSE.md`, and `NOTICE.md`
157
+ (npm also includes `package.json`). Source and declaration maps are disabled.
158
+ Built JavaScript and declarations still disclose implementation information;
159
+ they require an appropriate license and delivery decision.
160
+
161
+ Customer source review follows the source repository's `SOURCE_ACCESS.md` guide,
162
+ including a signed authorization and a controlled viewer. The source-review
163
+ agreement does not grant runtime or integration rights.
108
164
 
109
165
  ## Features
110
166
 
@@ -116,3 +172,16 @@ version). The tarball ships `dist/` + `README.md` only — no `src/`, no maps.
116
172
  - ✅ Page navigation suggestions
117
173
  - ✅ Fully customizable via config
118
174
 
175
+ ## Stream completion
176
+
177
+ `handleSSEStream` and `useStreamingChat` require an explicit terminal answer
178
+ event by default. EOF after text is an interrupted reply and calls `onError`;
179
+ it never silently calls `onComplete`. A custom non-answer protocol that uses
180
+ EOF as its terminal signal must explicitly set `requireFinal: false`.
181
+
182
+ ## License
183
+
184
+ [YieldFabric Proprietary Source Code Review and Non-Use Agreement](LICENSE.md).
185
+ Ownership remains with YieldFabric Technologies Ltd, subject to the
186
+ [third-party notices](NOTICE.md). No rights are granted merely by repository
187
+ access, possession of a package, or the technical examples in this README.