@standards/client 0.0.0-stage → 1.0.0-alpha.382
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 +111 -0
- package/README.md +61 -2
- package/dist/app.d.mts +67 -0
- package/dist/app.d.ts +67 -0
- package/dist/app.js +2 -0
- package/dist/app.mjs +2 -0
- package/dist/create-standards-3ODOXxRV.d.ts +439 -0
- package/dist/create-standards-Cl_Lxvy3.d.mts +439 -0
- package/dist/create-standards-DVK0prD0.js +2 -0
- package/dist/create-standards-p0dGJXSu.mjs +2 -0
- package/dist/http-transport-17TmxnFl.mjs +2 -0
- package/dist/http-transport-DBgedLFQ.d.mts +165 -0
- package/dist/http-transport-DBgedLFQ.d.ts +165 -0
- package/dist/http-transport-DHbErYa4.js +2 -0
- package/dist/index.d.mts +22 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +2 -0
- package/dist/index.mjs +2 -0
- package/dist/testing.d.mts +79 -0
- package/dist/testing.d.ts +79 -0
- package/dist/testing.js +2 -0
- package/dist/testing.mjs +2 -0
- package/package.json +81 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
STANDARDS SDK LICENSE
|
|
2
|
+
Version 1.0, September 2026
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2025-2026 AND YOU CREATE SAS. All rights reserved.
|
|
5
|
+
|
|
6
|
+
AND YOU CREATE, a French société par actions simplifiée with a share capital
|
|
7
|
+
of EUR 500, registered with the Paris Trade and Companies Register under
|
|
8
|
+
number 940 190 614, having its registered office at 60 rue François Ier,
|
|
9
|
+
75008 Paris, France (VAT FR34940190614) ("AYC", "we"), is the sole owner of
|
|
10
|
+
the software distributed under this license (the "SDK"): the source code,
|
|
11
|
+
compiled code, type declarations, documentation and any accompanying files
|
|
12
|
+
published in this package.
|
|
13
|
+
|
|
14
|
+
This is not an open source license. The SDK is made available so that you
|
|
15
|
+
can build software that communicates with the Standards platform operated by
|
|
16
|
+
AYC ("Standards"). Reading the source is permitted; everything else is
|
|
17
|
+
governed by the terms below. By installing, copying or using the SDK you
|
|
18
|
+
("you", the "Licensee") accept them. If you do not accept them, do not use
|
|
19
|
+
the SDK.
|
|
20
|
+
|
|
21
|
+
1. LICENSE GRANT
|
|
22
|
+
AYC grants you a limited, non-exclusive, non-transferable, non-sublicensable,
|
|
23
|
+
revocable license to:
|
|
24
|
+
(a) install and use the SDK, in unmodified form, solely to develop, test
|
|
25
|
+
and run applications that communicate with a Standards tenant, workspace
|
|
26
|
+
or API that you are authorised to access under a valid agreement with
|
|
27
|
+
AYC or with an AYC customer; and
|
|
28
|
+
(b) make the copies of the SDK reasonably necessary for that purpose,
|
|
29
|
+
including copies produced by your build tooling and bundlers.
|
|
30
|
+
|
|
31
|
+
2. RESTRICTIONS
|
|
32
|
+
Except as expressly permitted in Section 1, you shall not, and shall not
|
|
33
|
+
permit any third party to:
|
|
34
|
+
(a) modify, translate, adapt or create derivative works of the SDK;
|
|
35
|
+
(b) reverse engineer, decompile or disassemble the SDK, or otherwise attempt
|
|
36
|
+
to derive its design or internal structure, except to the extent that
|
|
37
|
+
applicable law expressly permits it despite this restriction (Articles
|
|
38
|
+
L.122-6-1 III and IV of the French Intellectual Property Code), in which
|
|
39
|
+
case you shall first request the information from AYC;
|
|
40
|
+
(c) distribute, sell, rent, lease, lend, sublicense, publish or otherwise
|
|
41
|
+
make the SDK, or any part of it, available to any third party, other
|
|
42
|
+
than as bundled inside an application described in Section 1(a);
|
|
43
|
+
(d) use the SDK, or any knowledge of its interfaces, formats, protocols or
|
|
44
|
+
schemas obtained through it, to build, train or improve a product or
|
|
45
|
+
service that competes with Standards, or to access Standards other than
|
|
46
|
+
through the interfaces AYC documents;
|
|
47
|
+
(e) use the SDK to interact with any Standards instance, tenant or API that
|
|
48
|
+
you are not authorised to access, or to circumvent any authentication,
|
|
49
|
+
authorisation, rate limit, licence key or other technical measure;
|
|
50
|
+
(f) remove, alter or obscure any copyright, trademark, licence or other
|
|
51
|
+
proprietary notice in the SDK; or
|
|
52
|
+
(g) use AYC's or Standards' names, logos or trademarks except to state
|
|
53
|
+
truthfully that your application uses the Standards SDK.
|
|
54
|
+
|
|
55
|
+
3. OWNERSHIP
|
|
56
|
+
The SDK is licensed, not sold. AYC and its licensors retain all right, title
|
|
57
|
+
and interest in and to the SDK, including all intellectual property rights.
|
|
58
|
+
No right is granted by implication, estoppel or otherwise. Any feedback or
|
|
59
|
+
suggestion you provide about the SDK may be used by AYC without restriction
|
|
60
|
+
or obligation.
|
|
61
|
+
|
|
62
|
+
4. THIRD-PARTY COMPONENTS
|
|
63
|
+
The SDK may include or depend on third-party open source components. Those
|
|
64
|
+
components are governed by their own licences, which are identified in the
|
|
65
|
+
package metadata and prevail over this license for those components only.
|
|
66
|
+
|
|
67
|
+
5. UPDATES
|
|
68
|
+
AYC may publish new versions of the SDK at any time. This license applies to
|
|
69
|
+
each version you obtain unless that version is accompanied by a different
|
|
70
|
+
licence. AYC has no obligation to maintain, support or update the SDK.
|
|
71
|
+
|
|
72
|
+
6. TERM AND TERMINATION
|
|
73
|
+
This license is effective until terminated. It terminates automatically,
|
|
74
|
+
without notice, if you breach any of its terms. AYC may also terminate it on
|
|
75
|
+
written notice if your agreement with AYC or with the AYC customer whose
|
|
76
|
+
tenant you access ends. Upon termination you shall stop using the SDK and
|
|
77
|
+
destroy every copy in your possession or control. Sections 2, 3, 7, 8 and 9
|
|
78
|
+
survive termination.
|
|
79
|
+
|
|
80
|
+
7. NO WARRANTY
|
|
81
|
+
THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE", WITHOUT WARRANTY OF ANY KIND,
|
|
82
|
+
EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A
|
|
83
|
+
PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, TO THE FULLEST EXTENT
|
|
84
|
+
PERMITTED BY APPLICABLE LAW. AYC does not warrant that the SDK will be
|
|
85
|
+
error-free or uninterrupted.
|
|
86
|
+
|
|
87
|
+
8. LIMITATION OF LIABILITY
|
|
88
|
+
TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, AYC SHALL NOT BE LIABLE
|
|
89
|
+
FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR PUNITIVE DAMAGES, OR
|
|
90
|
+
FOR ANY LOSS OF PROFITS, REVENUE, DATA OR GOODWILL, ARISING OUT OF OR IN
|
|
91
|
+
CONNECTION WITH THE SDK OR THIS LICENSE. AYC'S TOTAL AGGREGATE LIABILITY
|
|
92
|
+
UNDER THIS LICENSE SHALL NOT EXCEED ONE HUNDRED EUROS (EUR 100). Nothing in
|
|
93
|
+
this license excludes or limits liability that cannot be excluded or limited
|
|
94
|
+
under applicable law, including liability for gross negligence, wilful
|
|
95
|
+
misconduct or death or personal injury caused by negligence.
|
|
96
|
+
|
|
97
|
+
9. GOVERNING LAW AND JURISDICTION
|
|
98
|
+
This license is governed by the laws of France. Any dispute arising out of or
|
|
99
|
+
in connection with it shall be submitted to the exclusive jurisdiction of the
|
|
100
|
+
courts of Paris, France, subject to any mandatory rule granting jurisdiction
|
|
101
|
+
to another court.
|
|
102
|
+
|
|
103
|
+
10. GENERAL
|
|
104
|
+
If any provision of this license is held unenforceable, the remaining
|
|
105
|
+
provisions remain in force. AYC's failure to enforce a provision is not a
|
|
106
|
+
waiver of it. This license is the entire agreement between you and AYC about
|
|
107
|
+
the SDK and supersedes any prior understanding about it, without prejudice to
|
|
108
|
+
any separate agreement governing your access to Standards.
|
|
109
|
+
|
|
110
|
+
To obtain a different licence, or for any question about this one, contact
|
|
111
|
+
AND YOU CREATE SAS, 60 rue François Ier, 75008 Paris, France.
|
package/README.md
CHANGED
|
@@ -1,3 +1,62 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @standards/client
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Declare your schema with the `@standards/schema` fluent builders, sync it to a hosted Standards tenant, and operate typed records — from any Node ≥ 22 server process. No runtime, no NestJS.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pnpm add @standards/client
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Everything you need — the builders, `createStandards`, `defineSchemaSource`, error classes — is exported from `@standards/client`. One package, one version.
|
|
10
|
+
|
|
11
|
+
## 1. Declare a source
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { date, defineSchemaSource, object, select, text } from "@standards/client";
|
|
15
|
+
|
|
16
|
+
export const incident = object("incidents", "Incident")
|
|
17
|
+
.attribute(text("title", "Title").required())
|
|
18
|
+
.attribute(
|
|
19
|
+
select("severity", "Severity").options([
|
|
20
|
+
{ value: "minor", label: "Minor" },
|
|
21
|
+
{ value: "major", label: "Major" },
|
|
22
|
+
{ value: "critical", label: "Critical" },
|
|
23
|
+
])
|
|
24
|
+
)
|
|
25
|
+
.attribute(date("startedAt", "Started at"))
|
|
26
|
+
.labelExpression("{{ title }}");
|
|
27
|
+
|
|
28
|
+
export const statusSource = defineSchemaSource({ id: "status-site", objects: [incident] });
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 2. Sync it (server-side only)
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { createStandards } from "@standards/client";
|
|
35
|
+
|
|
36
|
+
// Reads STANDARDS_API_URL and STANDARDS_API_KEY (explicit { baseUrl, apiKey } win).
|
|
37
|
+
// Create the key with a role granting architect:update (`standards keys create --role`); keys default to member.
|
|
38
|
+
const standards = createStandards();
|
|
39
|
+
|
|
40
|
+
const result = await standards.schema.sync(statusSource);
|
|
41
|
+
// { applied: false, hash } when nothing changed — one GET, no write.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Objects you push are **system**: users can add their own attributes and views on top, but cannot delete or retype yours. Remove an object from the source and it is demoted to a custom object — its records survive. Never call `createStandards` with an API key in browser code; it refuses to.
|
|
45
|
+
|
|
46
|
+
## 3. Typed records
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
const db = createStandards({ baseUrl, apiKey, schema: statusSource });
|
|
50
|
+
const incidents = db.incidents; // one typed query per object, keyed by the camelCase of its name
|
|
51
|
+
|
|
52
|
+
await incidents.create({ title: "API latency", severity: "major", startedAt: new Date() });
|
|
53
|
+
const critical = await incidents.eq("severity", "critical").orderBy("startedAt", "desc").limit(10).fetch();
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Inputs are typed from the builder (`severity` only accepts the three options); dates come back as `Date`.
|
|
57
|
+
|
|
58
|
+
## Errors
|
|
59
|
+
|
|
60
|
+
`StandardsAuthError` (401/403), `SchemaSourceConflictError` (409 from `schema.sync`, with `objectName` and `owner`), `SchemaSourceValidationError` (400 from `schema.sync`, server message verbatim), `StandardsRequestError` (any other non-2xx, with the server's `code`), `StandardsConfigurationError` (misuse). `schema.sync` never throws for "nothing to do".
|
|
61
|
+
|
|
62
|
+
Licensed under the Standards SDK License 1.0 — see `LICENSE`. This package is not open source: it is provided to build applications that communicate with Standards.
|
package/dist/app.d.mts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
import { _ as StandardsRequestError, a as OperationStreamOptions, c as UploadProgress, d as readRefusal, f as refusalOf, h as StandardsAuthError, i as OperationCallOptions, l as createHttpTransport, n as HttpTransportConfig, t as HttpTransport } from "./http-transport-DBgedLFQ.mjs";
|
|
3
|
+
import { Operation, OperationInput, OperationResult, actorsOperations, agentAccessOperations, agentApprovalsOperations, agentDefinitionsOperations, agentEnvVarsOperations, agentMemoryOperations, agentMessagesOperations, agentRolesOperations, agentRunsOperations, agentSessionsOperations, agentTriggersOperations, aiOperations, apiKeysOperations, artifactsOperations, auditOperations, browserProfilesOperations, bundlesOperations, cloudBrowsersOperations, connectorsOperations, devicesOperations, dictationOperations, documentsOperations, emailCategoriesOperations, emailClassificationOperations, emailsOperations, embeddingsAdminOperations, envVarsOperations, environmentsOperations, filesOperations, foldersOperations, formsOperations, geocodingOperations, mailDraftsOperations, mcpServersOperations, meetingsAdminOperations, meetingsOperations, memoryAdminOperations, modelsOperations, newsOperations, notificationsOperations, pageAccessOperations, pagesOperations, permissionsOperations, quotasOperations, recentActivityOperations, recordAccessOperations, recordOperationsOperations, recordsOperations, relationsOperations, schemaDraftOperations, schemaGroupsOperations, schemaObjectsOperations, schemaSourcesOperations, schemaStateOperations, searchAdminOperations, searchOperations, tenantInvitationsOperations, tenantSettingsOperations, usersOperations, viewsOperations } from "@standards/schema/api";
|
|
4
|
+
//#region src/app-errors.d.ts
|
|
5
|
+
/** The server's `SchemaErrorCode` on a failed call, when it sent one. */
|
|
6
|
+
export declare function schemaApiErrorCode(error: unknown): string | undefined;
|
|
7
|
+
/** Whether a failure is an answer, and so must not be asked again. */
|
|
8
|
+
export declare function isPermanentRefusal(error: unknown): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Whether a failure says the object does not exist, rather than that the read
|
|
11
|
+
* failed (#3290): with a definition seeded from the cached catalogue, a 500 and
|
|
12
|
+
* a 404 are opposite answers — a transient failure may be ridden out, an
|
|
13
|
+
* authoritative not-found may not.
|
|
14
|
+
*
|
|
15
|
+
* Either signal is enough, deliberately: reading only the code would tolerate a
|
|
16
|
+
* deleted object behind a plainer not-found, reading only the status would miss
|
|
17
|
+
* a coded refusal carrying no status.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isObjectNotFound(error: unknown): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether a write was refused because the draft moved since it was read
|
|
22
|
+
* (`DRAFT_REVISION_CONFLICT`, a 409): only a fresh read of the draft makes the
|
|
23
|
+
* next attempt mean something (#4899).
|
|
24
|
+
*/
|
|
25
|
+
export declare function isDraftRevisionConflict(error: unknown): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether a view read failed because the object simply has no view for that
|
|
28
|
+
* context (#2659) — a working object not laid out yet, not a failure.
|
|
29
|
+
*
|
|
30
|
+
* Status-only: the view routes' not-found carries the generic
|
|
31
|
+
* `SCHEMA_RECORD_NOT_FOUND` code, which says nothing view-specific. Call it
|
|
32
|
+
* ONLY on a view query's error — on any other query a 404 means something
|
|
33
|
+
* else entirely.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isViewNotFound(error: unknown): boolean;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/content-disposition.d.ts
|
|
38
|
+
/**
|
|
39
|
+
* Parse the download filename out of a `Content-Disposition` response header.
|
|
40
|
+
*
|
|
41
|
+
* The server is the single naming source (see `contentDispositionFilename` in
|
|
42
|
+
* adapter-nestjs): it emits both the RFC 5987 `filename*=UTF-8''...` form
|
|
43
|
+
* (accent-safe, percent-encoded) and a sanitized ASCII `filename="..."`
|
|
44
|
+
* fallback. We prefer the extended form and percent-decode it so accented,
|
|
45
|
+
* title-based names ("Pièce d'identité – 2.jpg") survive the round trip.
|
|
46
|
+
*
|
|
47
|
+
* Returns `undefined` when the header is absent or carries no filename, letting
|
|
48
|
+
* callers fall back to a client-side name.
|
|
49
|
+
*/
|
|
50
|
+
export declare function parseContentDispositionFilename(header: string | null | undefined): string | undefined;
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/app.d.ts
|
|
53
|
+
type GroupOperation<G> = G[keyof G];
|
|
54
|
+
type AppOperation = GroupOperation<typeof apiKeysOperations> | GroupOperation<typeof meetingsOperations> | GroupOperation<typeof quotasOperations> | GroupOperation<typeof aiOperations> | GroupOperation<typeof modelsOperations> | GroupOperation<typeof agentMemoryOperations> | GroupOperation<typeof schemaGroupsOperations> | GroupOperation<typeof artifactsOperations> | GroupOperation<typeof envVarsOperations> | GroupOperation<typeof tenantSettingsOperations> | GroupOperation<typeof tenantInvitationsOperations> | GroupOperation<typeof notificationsOperations> | GroupOperation<typeof bundlesOperations> | GroupOperation<typeof auditOperations> | GroupOperation<typeof geocodingOperations> | GroupOperation<typeof actorsOperations> | GroupOperation<typeof usersOperations> | GroupOperation<typeof permissionsOperations> | GroupOperation<typeof agentAccessOperations> | GroupOperation<typeof pageAccessOperations> | GroupOperation<typeof browserProfilesOperations> | GroupOperation<typeof cloudBrowsersOperations> | GroupOperation<typeof environmentsOperations> | GroupOperation<typeof mcpServersOperations> | GroupOperation<typeof connectorsOperations> | GroupOperation<typeof emailCategoriesOperations> | GroupOperation<typeof emailClassificationOperations> | GroupOperation<typeof emailsOperations> | GroupOperation<typeof mailDraftsOperations> | GroupOperation<typeof pagesOperations> | GroupOperation<typeof viewsOperations> | GroupOperation<typeof formsOperations> | GroupOperation<typeof relationsOperations> | GroupOperation<typeof searchOperations> | GroupOperation<typeof recentActivityOperations> | GroupOperation<typeof recordOperationsOperations> | GroupOperation<typeof recordsOperations> | GroupOperation<typeof recordAccessOperations> | GroupOperation<typeof newsOperations> | GroupOperation<typeof meetingsAdminOperations> | GroupOperation<typeof embeddingsAdminOperations> | GroupOperation<typeof memoryAdminOperations> | GroupOperation<typeof searchAdminOperations> | GroupOperation<typeof schemaStateOperations> | GroupOperation<typeof schemaSourcesOperations> | GroupOperation<typeof schemaObjectsOperations> | GroupOperation<typeof schemaDraftOperations> | GroupOperation<typeof filesOperations> | GroupOperation<typeof documentsOperations> | GroupOperation<typeof foldersOperations> | GroupOperation<typeof agentDefinitionsOperations> | GroupOperation<typeof agentRolesOperations> | GroupOperation<typeof agentEnvVarsOperations> | GroupOperation<typeof agentRunsOperations> | GroupOperation<typeof agentTriggersOperations> | GroupOperation<typeof agentSessionsOperations> | GroupOperation<typeof agentMessagesOperations> | GroupOperation<typeof agentApprovalsOperations> | GroupOperation<typeof devicesOperations> | GroupOperation<typeof dictationOperations>;
|
|
55
|
+
type NamespaceOf<N> = N extends `${infer G}.${string}` ? G : never;
|
|
56
|
+
type VerbOf<N> = N extends `${string}.${infer V}` ? V : never;
|
|
57
|
+
/** An `"events"` operation opens a stream (`transport.stream`); any other is one call. */
|
|
58
|
+
type OptionsOf<O extends Operation> = O extends {
|
|
59
|
+
readonly response: "events";
|
|
60
|
+
} ? OperationStreamOptions : OperationCallOptions;
|
|
61
|
+
/** An input the schema defaults (`.default({})`) may be left out; `options` carries the call's signal. */
|
|
62
|
+
type OperationCall<O extends Operation> = (...args: undefined extends OperationInput<O> ? [input?: OperationInput<O>, options?: OptionsOf<O>] : [input: OperationInput<O>, options?: OptionsOf<O>]) => Promise<OperationResult<O>>;
|
|
63
|
+
export type AppClient = { readonly [G in NamespaceOf<AppOperation["name"]>]: { readonly [O in AppOperation as NamespaceOf<O["name"]> extends G ? VerbOf<O["name"]> : never]: OperationCall<O>; }; };
|
|
64
|
+
/** The namespaced client over every app operation: `client.apiKeys.revoke({ id })`. */
|
|
65
|
+
export declare function createAppClient(transport: HttpTransport): AppClient;
|
|
66
|
+
//#endregion
|
|
67
|
+
export { type HttpTransport, type HttpTransportConfig, type OperationCallOptions, type OperationStreamOptions, StandardsAuthError, StandardsRequestError, type UploadProgress, createHttpTransport, readRefusal, refusalOf };
|
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
|
|
2
|
+
import { _ as StandardsRequestError, a as OperationStreamOptions, c as UploadProgress, d as readRefusal, f as refusalOf, h as StandardsAuthError, i as OperationCallOptions, l as createHttpTransport, n as HttpTransportConfig, t as HttpTransport } from "./http-transport-DBgedLFQ.js";
|
|
3
|
+
import { Operation, OperationInput, OperationResult, actorsOperations, agentAccessOperations, agentApprovalsOperations, agentDefinitionsOperations, agentEnvVarsOperations, agentMemoryOperations, agentMessagesOperations, agentRolesOperations, agentRunsOperations, agentSessionsOperations, agentTriggersOperations, aiOperations, apiKeysOperations, artifactsOperations, auditOperations, browserProfilesOperations, bundlesOperations, cloudBrowsersOperations, connectorsOperations, devicesOperations, dictationOperations, documentsOperations, emailCategoriesOperations, emailClassificationOperations, emailsOperations, embeddingsAdminOperations, envVarsOperations, environmentsOperations, filesOperations, foldersOperations, formsOperations, geocodingOperations, mailDraftsOperations, mcpServersOperations, meetingsAdminOperations, meetingsOperations, memoryAdminOperations, modelsOperations, newsOperations, notificationsOperations, pageAccessOperations, pagesOperations, permissionsOperations, quotasOperations, recentActivityOperations, recordAccessOperations, recordOperationsOperations, recordsOperations, relationsOperations, schemaDraftOperations, schemaGroupsOperations, schemaObjectsOperations, schemaSourcesOperations, schemaStateOperations, searchAdminOperations, searchOperations, tenantInvitationsOperations, tenantSettingsOperations, usersOperations, viewsOperations } from "@standards/schema/api";
|
|
4
|
+
//#region src/app-errors.d.ts
|
|
5
|
+
/** The server's `SchemaErrorCode` on a failed call, when it sent one. */
|
|
6
|
+
export declare function schemaApiErrorCode(error: unknown): string | undefined;
|
|
7
|
+
/** Whether a failure is an answer, and so must not be asked again. */
|
|
8
|
+
export declare function isPermanentRefusal(error: unknown): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Whether a failure says the object does not exist, rather than that the read
|
|
11
|
+
* failed (#3290): with a definition seeded from the cached catalogue, a 500 and
|
|
12
|
+
* a 404 are opposite answers — a transient failure may be ridden out, an
|
|
13
|
+
* authoritative not-found may not.
|
|
14
|
+
*
|
|
15
|
+
* Either signal is enough, deliberately: reading only the code would tolerate a
|
|
16
|
+
* deleted object behind a plainer not-found, reading only the status would miss
|
|
17
|
+
* a coded refusal carrying no status.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isObjectNotFound(error: unknown): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether a write was refused because the draft moved since it was read
|
|
22
|
+
* (`DRAFT_REVISION_CONFLICT`, a 409): only a fresh read of the draft makes the
|
|
23
|
+
* next attempt mean something (#4899).
|
|
24
|
+
*/
|
|
25
|
+
export declare function isDraftRevisionConflict(error: unknown): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether a view read failed because the object simply has no view for that
|
|
28
|
+
* context (#2659) — a working object not laid out yet, not a failure.
|
|
29
|
+
*
|
|
30
|
+
* Status-only: the view routes' not-found carries the generic
|
|
31
|
+
* `SCHEMA_RECORD_NOT_FOUND` code, which says nothing view-specific. Call it
|
|
32
|
+
* ONLY on a view query's error — on any other query a 404 means something
|
|
33
|
+
* else entirely.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isViewNotFound(error: unknown): boolean;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/content-disposition.d.ts
|
|
38
|
+
/**
|
|
39
|
+
* Parse the download filename out of a `Content-Disposition` response header.
|
|
40
|
+
*
|
|
41
|
+
* The server is the single naming source (see `contentDispositionFilename` in
|
|
42
|
+
* adapter-nestjs): it emits both the RFC 5987 `filename*=UTF-8''...` form
|
|
43
|
+
* (accent-safe, percent-encoded) and a sanitized ASCII `filename="..."`
|
|
44
|
+
* fallback. We prefer the extended form and percent-decode it so accented,
|
|
45
|
+
* title-based names ("Pièce d'identité – 2.jpg") survive the round trip.
|
|
46
|
+
*
|
|
47
|
+
* Returns `undefined` when the header is absent or carries no filename, letting
|
|
48
|
+
* callers fall back to a client-side name.
|
|
49
|
+
*/
|
|
50
|
+
export declare function parseContentDispositionFilename(header: string | null | undefined): string | undefined;
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/app.d.ts
|
|
53
|
+
type GroupOperation<G> = G[keyof G];
|
|
54
|
+
type AppOperation = GroupOperation<typeof apiKeysOperations> | GroupOperation<typeof meetingsOperations> | GroupOperation<typeof quotasOperations> | GroupOperation<typeof aiOperations> | GroupOperation<typeof modelsOperations> | GroupOperation<typeof agentMemoryOperations> | GroupOperation<typeof schemaGroupsOperations> | GroupOperation<typeof artifactsOperations> | GroupOperation<typeof envVarsOperations> | GroupOperation<typeof tenantSettingsOperations> | GroupOperation<typeof tenantInvitationsOperations> | GroupOperation<typeof notificationsOperations> | GroupOperation<typeof bundlesOperations> | GroupOperation<typeof auditOperations> | GroupOperation<typeof geocodingOperations> | GroupOperation<typeof actorsOperations> | GroupOperation<typeof usersOperations> | GroupOperation<typeof permissionsOperations> | GroupOperation<typeof agentAccessOperations> | GroupOperation<typeof pageAccessOperations> | GroupOperation<typeof browserProfilesOperations> | GroupOperation<typeof cloudBrowsersOperations> | GroupOperation<typeof environmentsOperations> | GroupOperation<typeof mcpServersOperations> | GroupOperation<typeof connectorsOperations> | GroupOperation<typeof emailCategoriesOperations> | GroupOperation<typeof emailClassificationOperations> | GroupOperation<typeof emailsOperations> | GroupOperation<typeof mailDraftsOperations> | GroupOperation<typeof pagesOperations> | GroupOperation<typeof viewsOperations> | GroupOperation<typeof formsOperations> | GroupOperation<typeof relationsOperations> | GroupOperation<typeof searchOperations> | GroupOperation<typeof recentActivityOperations> | GroupOperation<typeof recordOperationsOperations> | GroupOperation<typeof recordsOperations> | GroupOperation<typeof recordAccessOperations> | GroupOperation<typeof newsOperations> | GroupOperation<typeof meetingsAdminOperations> | GroupOperation<typeof embeddingsAdminOperations> | GroupOperation<typeof memoryAdminOperations> | GroupOperation<typeof searchAdminOperations> | GroupOperation<typeof schemaStateOperations> | GroupOperation<typeof schemaSourcesOperations> | GroupOperation<typeof schemaObjectsOperations> | GroupOperation<typeof schemaDraftOperations> | GroupOperation<typeof filesOperations> | GroupOperation<typeof documentsOperations> | GroupOperation<typeof foldersOperations> | GroupOperation<typeof agentDefinitionsOperations> | GroupOperation<typeof agentRolesOperations> | GroupOperation<typeof agentEnvVarsOperations> | GroupOperation<typeof agentRunsOperations> | GroupOperation<typeof agentTriggersOperations> | GroupOperation<typeof agentSessionsOperations> | GroupOperation<typeof agentMessagesOperations> | GroupOperation<typeof agentApprovalsOperations> | GroupOperation<typeof devicesOperations> | GroupOperation<typeof dictationOperations>;
|
|
55
|
+
type NamespaceOf<N> = N extends `${infer G}.${string}` ? G : never;
|
|
56
|
+
type VerbOf<N> = N extends `${string}.${infer V}` ? V : never;
|
|
57
|
+
/** An `"events"` operation opens a stream (`transport.stream`); any other is one call. */
|
|
58
|
+
type OptionsOf<O extends Operation> = O extends {
|
|
59
|
+
readonly response: "events";
|
|
60
|
+
} ? OperationStreamOptions : OperationCallOptions;
|
|
61
|
+
/** An input the schema defaults (`.default({})`) may be left out; `options` carries the call's signal. */
|
|
62
|
+
type OperationCall<O extends Operation> = (...args: undefined extends OperationInput<O> ? [input?: OperationInput<O>, options?: OptionsOf<O>] : [input: OperationInput<O>, options?: OptionsOf<O>]) => Promise<OperationResult<O>>;
|
|
63
|
+
export type AppClient = { readonly [G in NamespaceOf<AppOperation["name"]>]: { readonly [O in AppOperation as NamespaceOf<O["name"]> extends G ? VerbOf<O["name"]> : never]: OperationCall<O>; }; };
|
|
64
|
+
/** The namespaced client over every app operation: `client.apiKeys.revoke({ id })`. */
|
|
65
|
+
export declare function createAppClient(transport: HttpTransport): AppClient;
|
|
66
|
+
//#endregion
|
|
67
|
+
export { type HttpTransport, type HttpTransportConfig, type OperationCallOptions, type OperationStreamOptions, StandardsAuthError, StandardsRequestError, type UploadProgress, createHttpTransport, readRefusal, refusalOf };
|
package/dist/app.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./http-transport-DHbErYa4.js");let t=require("@standards/schema/api");const n=[t.apiKeysOperations,t.meetingsOperations,t.quotasOperations,t.aiOperations,t.modelsOperations,t.agentMemoryOperations,t.schemaGroupsOperations,t.artifactsOperations,t.envVarsOperations,t.tenantSettingsOperations,t.tenantInvitationsOperations,t.notificationsOperations,t.bundlesOperations,t.auditOperations,t.geocodingOperations,t.actorsOperations,t.usersOperations,t.permissionsOperations,t.agentAccessOperations,t.pageAccessOperations,t.browserProfilesOperations,t.cloudBrowsersOperations,t.environmentsOperations,t.mcpServersOperations,t.connectorsOperations,t.emailCategoriesOperations,t.emailClassificationOperations,t.emailsOperations,t.mailDraftsOperations,t.pagesOperations,t.viewsOperations,t.formsOperations,t.relationsOperations,t.searchOperations,t.recentActivityOperations,t.recordOperationsOperations,t.recordsOperations,t.recordAccessOperations,t.newsOperations,t.meetingsAdminOperations,t.embeddingsAdminOperations,t.memoryAdminOperations,t.searchAdminOperations,t.schemaStateOperations,t.schemaSourcesOperations,t.schemaObjectsOperations,t.schemaDraftOperations,t.filesOperations,t.documentsOperations,t.foldersOperations,t.agentDefinitionsOperations,t.agentRolesOperations,t.agentEnvVarsOperations,t.agentRunsOperations,t.agentTriggersOperations,t.agentSessionsOperations,t.agentMessagesOperations,t.agentApprovalsOperations,t.devicesOperations,t.dictationOperations];function createAppClient(e){let r={};for(let i of n.flatMap(e=>Object.values(e))){let n=(0,t.operationGroup)(i),a=i.name.slice(n.length+1);r[n]??={},r[n][a]=(t,n)=>i.response===`events`?e.stream(i,t,n):e.call(i,t,n)}return r}exports.StandardsAuthError=e.m,exports.StandardsRequestError=e.g,exports.createAppClient=createAppClient,exports.createHttpTransport=e.t,exports.isDraftRevisionConflict=e.s,exports.isObjectNotFound=e.c,exports.isPermanentRefusal=e.l,exports.isViewNotFound=e.u,exports.parseContentDispositionFilename=e.o,exports.readRefusal=e.r,exports.refusalOf=e.i,exports.schemaApiErrorCode=e.d;
|
package/dist/app.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
import{c as e,d as t,g as n,i as r,l as i,m as ee,o as a,r as o,s,t as c,u as l}from"./http-transport-17TmxnFl.mjs";import{actorsOperations as u,agentAccessOperations as d,agentApprovalsOperations as f,agentDefinitionsOperations as p,agentEnvVarsOperations as m,agentMemoryOperations as h,agentMessagesOperations as g,agentRolesOperations as _,agentRunsOperations as v,agentSessionsOperations as y,agentTriggersOperations as b,aiOperations as x,apiKeysOperations as S,artifactsOperations as C,auditOperations as w,browserProfilesOperations as T,bundlesOperations as E,cloudBrowsersOperations as D,connectorsOperations as O,devicesOperations as k,dictationOperations as A,documentsOperations as j,emailCategoriesOperations as M,emailClassificationOperations as N,emailsOperations as P,embeddingsAdminOperations as F,envVarsOperations as I,environmentsOperations as L,filesOperations as R,foldersOperations as z,formsOperations as B,geocodingOperations as te,mailDraftsOperations as V,mcpServersOperations as H,meetingsAdminOperations as U,meetingsOperations as W,memoryAdminOperations as G,modelsOperations as K,newsOperations as q,notificationsOperations as J,operationGroup as Y,pageAccessOperations as X,pagesOperations as Z,permissionsOperations as Q,quotasOperations as ne,recentActivityOperations as re,recordAccessOperations as ie,recordOperationsOperations as ae,recordsOperations as oe,relationsOperations as se,schemaDraftOperations as ce,schemaGroupsOperations as le,schemaObjectsOperations as ue,schemaSourcesOperations as de,schemaStateOperations as fe,searchAdminOperations as pe,searchOperations as $,tenantInvitationsOperations as me,tenantSettingsOperations as he,usersOperations as ge,viewsOperations as _e}from"@standards/schema/api";const ve=[S,W,ne,x,K,h,le,C,I,he,me,J,E,w,te,u,ge,Q,d,X,T,D,L,H,O,M,N,P,V,Z,_e,B,se,$,re,ae,oe,ie,q,U,F,G,pe,fe,de,ue,ce,R,j,z,p,_,m,v,b,y,g,f,k,A];function createAppClient(e){let t={};for(let n of ve.flatMap(e=>Object.values(e))){let r=Y(n),i=n.name.slice(r.length+1);t[r]??={},t[r][i]=(t,r)=>n.response===`events`?e.stream(n,t,r):e.call(n,t,r)}return t}export{ee as StandardsAuthError,n as StandardsRequestError,createAppClient,c as createHttpTransport,s as isDraftRevisionConflict,e as isObjectNotFound,i as isPermanentRefusal,l as isViewNotFound,a as parseContentDispositionFilename,o as readRefusal,r as refusalOf,t as schemaApiErrorCode};
|