buckyos 0.7.159 → 0.7.162
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/cli/dist/cli.mjs +714 -20
- package/cli/dist/cli.mjs.map +1 -1
- package/cli/modules/aiws.ts +631 -4
- package/cli/modules/pikg.ts +38 -3
- package/cli/modules/pikg_protocol.ts +48 -3
- package/cli/modules/share.ts +2 -1
- package/cli/version.ts +1 -1
- package/dist/aiworkspace_client.d.ts +307 -0
- package/dist/aiworkspace_client.d.ts.map +1 -1
- package/dist/aiws_ext.cjs +2 -0
- package/dist/aiws_ext.cjs.map +1 -0
- package/dist/aiws_ext.d.ts +310 -0
- package/dist/aiws_ext.d.ts.map +1 -0
- package/dist/aiws_ext.mjs +1248 -0
- package/dist/aiws_ext.mjs.map +1 -0
- package/dist/browser.cjs +1 -1
- package/dist/browser.mjs +2 -2
- package/dist/{executor_client-24076936.mjs → executor_client-0856c3fc.mjs} +78 -1
- package/dist/executor_client-0856c3fc.mjs.map +1 -0
- package/dist/{executor_client-24abb248.js → executor_client-3f7679e3.js} +9 -9
- package/dist/executor_client-3f7679e3.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +48 -2
- package/dist/index.mjs.map +1 -1
- package/dist/node.cjs +1 -1
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.mjs +50 -2
- package/dist/node.mjs.map +1 -1
- package/package.json +6 -1
- package/dist/executor_client-24076936.mjs.map +0 -1
- package/dist/executor_client-24abb248.js.map +0 -1
package/cli/modules/pikg.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CommandContext } from '../core/context.ts'
|
|
2
2
|
import type { CommandModule } from '../core/command.ts'
|
|
3
3
|
import { EXIT_PERMISSION, EXIT_UNAVAILABLE, ToolError, UsageError } from '../core/errors.ts'
|
|
4
|
+
import { AIWS_MANIFEST_FILE, AIWS_MANIFEST_VERSION, aiwsContentDigest, controlSkeleton } from 'buckyos/node'
|
|
4
5
|
import { createDeterministicTarGz, digestFile, sha256Bytes } from './pikg_archive.ts'
|
|
5
6
|
import {
|
|
6
7
|
APPDOC_ENTRY,
|
|
@@ -55,11 +56,13 @@ const SHA256_ID = /^sha256:[0-9a-f]{64}$/
|
|
|
55
56
|
const OBJECT_ID = /^(?:appdoc|pkg):[0-9a-f]{64}$/
|
|
56
57
|
const SAFE_GENERATED_FILE = /^[A-Za-z0-9._-]+$/
|
|
57
58
|
const OBJECT_OUTPUT = { type: 'object' as const, additionalProperties: true }
|
|
58
|
-
const APP_KINDS = ['static-web', 'script', 'docker', 'agent-skills']
|
|
59
|
+
const APP_KINDS = ['static-web', 'script', 'docker', 'agent-skills', 'aiws-controls']
|
|
59
60
|
const PATH_KINDS: Record<string, { key: string; category: string; selectorType: string }> = {
|
|
60
61
|
'static-web': { key: 'web', category: 'web', selectorType: 'static' },
|
|
61
62
|
script: { key: 'script', category: 'dapp', selectorType: 'single' },
|
|
62
63
|
'agent-skills': { key: 'agent_skills', category: 'agent_skills', selectorType: 'single' },
|
|
64
|
+
// AI Workspace controls: one bundle (aiws-manifest.json + controls/<dir>/), installed into the AI Workspace library
|
|
65
|
+
'aiws-controls': { key: 'aiws', category: 'aiws', selectorType: 'single' },
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
export interface DockerImageInfo {
|
|
@@ -218,6 +221,11 @@ export function createPikgModule(dependencies: PikgModuleDependencies = {}): Com
|
|
|
218
221
|
},
|
|
219
222
|
{ name: 'version', description: 'Initial App version', type: 'string' },
|
|
220
223
|
{ name: 'app-did', property: 'app_did', description: 'Explicit App DID', type: 'string' },
|
|
224
|
+
{
|
|
225
|
+
name: 'composite',
|
|
226
|
+
description: 'aiws-controls: start the package with a composite control (a panel of Blocks) instead of a declarative one',
|
|
227
|
+
type: 'boolean',
|
|
228
|
+
},
|
|
221
229
|
],
|
|
222
230
|
inputSchema: {
|
|
223
231
|
type: 'object',
|
|
@@ -229,6 +237,7 @@ export function createPikgModule(dependencies: PikgModuleDependencies = {}): Com
|
|
|
229
237
|
source: { type: 'string', minLength: 1 },
|
|
230
238
|
version: { type: 'string', minLength: 1 },
|
|
231
239
|
app_did: { type: 'string', minLength: 1 },
|
|
240
|
+
composite: { type: 'boolean' },
|
|
232
241
|
},
|
|
233
242
|
additionalProperties: false,
|
|
234
243
|
},
|
|
@@ -243,6 +252,8 @@ export function createPikgModule(dependencies: PikgModuleDependencies = {}): Com
|
|
|
243
252
|
'buckyos pikg init .',
|
|
244
253
|
'buckyos --non-interactive pikg init . --owner did:bns:root --kind static-web --source ./web/dist',
|
|
245
254
|
'buckyos --non-interactive pikg init . --owner did:bns:root --kind agent-skills --source ./skills',
|
|
255
|
+
'buckyos --non-interactive pikg init . --owner did:bns:alice --kind aiws-controls --source ./aiws',
|
|
256
|
+
'buckyos --non-interactive pikg init . --owner did:bns:alice --kind aiws-controls --source ./aiws --composite',
|
|
246
257
|
],
|
|
247
258
|
handler: async (ctx, input) => await initCommand(ctx, input, docker),
|
|
248
259
|
},
|
|
@@ -493,9 +504,13 @@ async function initCommand(
|
|
|
493
504
|
try {
|
|
494
505
|
await getHost().lstat(absoluteSource)
|
|
495
506
|
} catch (error) {
|
|
496
|
-
if (isHostError(error, 'NotFound'))
|
|
507
|
+
if (!isHostError(error, 'NotFound')) throw error
|
|
508
|
+
if (kind === 'aiws-controls') {
|
|
509
|
+
await writeAiwsSkeleton(absoluteSource, owner, name, input.composite === true)
|
|
510
|
+
sourceSummary.skeleton = true
|
|
511
|
+
} else {
|
|
497
512
|
await ctx.io.stderr(`warning: source does not exist yet: ${sourceSummary.path}\n`)
|
|
498
|
-
}
|
|
513
|
+
}
|
|
499
514
|
}
|
|
500
515
|
}
|
|
501
516
|
|
|
@@ -557,6 +572,26 @@ async function initCommand(
|
|
|
557
572
|
}
|
|
558
573
|
}
|
|
559
574
|
|
|
575
|
+
/** A control package skeleton: one declarative control (or a composite one) under controls/<name>/ and its manifest
|
|
576
|
+
* (digest included). */
|
|
577
|
+
async function writeAiwsSkeleton(dir: string, ownerDid: string, name: string, composite: boolean): Promise<void> {
|
|
578
|
+
const kind = composite ? 'composite' : 'declarative'
|
|
579
|
+
const files = controlSkeleton({ authorDid: ownerDid, name, title: name, kind })
|
|
580
|
+
const encoder = new TextEncoder()
|
|
581
|
+
const host = getHost()
|
|
582
|
+
await host.mkdir(join(dir, 'controls', name), { recursive: true })
|
|
583
|
+
for (const [file, text] of Object.entries(files)) await host.writeTextFile(join(dir, 'controls', name, file), text)
|
|
584
|
+
const digest = await aiwsContentDigest(Object.entries(files).map(([file, text]) => [file, encoder.encode(text)] as [string, Uint8Array]))
|
|
585
|
+
const manifest = {
|
|
586
|
+
manifest_version: AIWS_MANIFEST_VERSION,
|
|
587
|
+
purpose: 'aiws',
|
|
588
|
+
host_api: composite ? {} : { declarative: 1 },
|
|
589
|
+
controls: [{ ident: `${ownerDid}#${name}`, name, kind, version: 1, digest, dir: `controls/${name}/`, title: name }],
|
|
590
|
+
workspace_templates: [],
|
|
591
|
+
}
|
|
592
|
+
await host.writeTextFile(join(dir, AIWS_MANIFEST_FILE), `${JSON.stringify(manifest, null, 2)}\n`)
|
|
593
|
+
}
|
|
594
|
+
|
|
560
595
|
async function buildCommand(
|
|
561
596
|
ctx: CommandContext,
|
|
562
597
|
input: Record<string, unknown>,
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ndn } from 'buckyos/node'
|
|
1
|
+
import { ndn, verifyBundle } from 'buckyos/node'
|
|
2
2
|
import { ToolError, UsageError } from '../core/errors.ts'
|
|
3
3
|
import { getHost } from '../runtime/host.ts'
|
|
4
4
|
import {
|
|
5
5
|
digestFile,
|
|
6
6
|
type FileDigest,
|
|
7
7
|
openZip,
|
|
8
|
+
readTarGz,
|
|
8
9
|
readZipEntry,
|
|
9
10
|
sha256Bytes,
|
|
10
11
|
verifyZipEntry,
|
|
@@ -69,6 +70,8 @@ export interface ValidatedPikg {
|
|
|
69
70
|
|
|
70
71
|
export interface PikgInspectionResult {
|
|
71
72
|
schema_version: 1
|
|
73
|
+
/** An `aiws` package: its bundle checked like the AI Workspace library does. */
|
|
74
|
+
aiws?: Record<string, unknown>
|
|
72
75
|
protocol: string
|
|
73
76
|
pikg_path: string
|
|
74
77
|
size: number
|
|
@@ -141,6 +144,7 @@ export function derivedSelector(key: string): Record<string, string> | undefined
|
|
|
141
144
|
agent: {},
|
|
142
145
|
agent_skills: {},
|
|
143
146
|
agent_tools: {},
|
|
147
|
+
aiws: {},
|
|
144
148
|
script: {},
|
|
145
149
|
}
|
|
146
150
|
return selectors[key]
|
|
@@ -505,6 +509,33 @@ export function appDocObjectId(value: Record<string, unknown>): string {
|
|
|
505
509
|
return ndn.buildNamedObjectByJson('appdoc', value)[0].toString()
|
|
506
510
|
}
|
|
507
511
|
|
|
512
|
+
/** The sub-package of an `aiws` package: the AIWS bundle (aiws-manifest.json plus controls/<dir>/<file> and, from
|
|
513
|
+
* manifest_version 3, Workspace templates under templates/<id>/). */
|
|
514
|
+
export const AIWS_SUB_PACKAGE = 'aiws'
|
|
515
|
+
const MAX_AIWS_PAYLOAD_BYTES = 256 * 1024 * 1024
|
|
516
|
+
|
|
517
|
+
/** Check the bundle inside an `aiws` payload the way the AI Workspace library does (digests, component.json, the
|
|
518
|
+
* templates' shape, snapshot, digest and required controls, no file outside a control, a template or the manifest). */
|
|
519
|
+
export async function verifyAiwsPayload(tarGz: Uint8Array): Promise<Record<string, unknown>> {
|
|
520
|
+
const files = new Map<string, Uint8Array>()
|
|
521
|
+
for (const entry of await readTarGz(tarGz, MAX_AIWS_PAYLOAD_BYTES)) files.set(entry.path, entry.bytes)
|
|
522
|
+
let checked
|
|
523
|
+
try {
|
|
524
|
+
checked = await verifyBundle(files)
|
|
525
|
+
} catch (error) {
|
|
526
|
+
throw invalid('aiws', `aiws bundle: ${error instanceof Error ? error.message : String(error)}`)
|
|
527
|
+
}
|
|
528
|
+
const errors = checked.diagnostics.filter((d: { severity: string }) => d.severity === 'error')
|
|
529
|
+
if (errors.length > 0) {
|
|
530
|
+
throw invalid('aiws', `aiws bundle: ${errors.map((d: { file: string; message: string }) => `${d.file}: ${d.message}`).join('; ')}`)
|
|
531
|
+
}
|
|
532
|
+
return {
|
|
533
|
+
manifest_version: checked.manifest.manifest_version,
|
|
534
|
+
controls: checked.manifest.controls.map((c: Record<string, unknown>) => ({ ident: c.ident, kind: c.kind, version: c.version, digest: c.digest })),
|
|
535
|
+
templates: checked.manifest.workspace_templates.map((t: Record<string, unknown>) => ({ id: t.id, title: t.title, digest: t.digest, requires: t.requires })),
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
|
|
508
539
|
export async function validateSnapshot(
|
|
509
540
|
distDir: string,
|
|
510
541
|
appDoc: Record<string, unknown>,
|
|
@@ -517,7 +548,11 @@ export async function validateSnapshot(
|
|
|
517
548
|
const digest = await digestFile(path)
|
|
518
549
|
payloads.set(entry.path, digest)
|
|
519
550
|
}
|
|
520
|
-
|
|
551
|
+
const validated = validateObjectGraph(appDoc, packageMeta, payloads, true, false, true)
|
|
552
|
+
if (appDoc.app_type === 'aiws') {
|
|
553
|
+
for (const sub of validated.subpackages) await verifyAiwsPayload(await getHost().readFile(join(distDir, sub.payload_path)))
|
|
554
|
+
}
|
|
555
|
+
return validated
|
|
521
556
|
}
|
|
522
557
|
|
|
523
558
|
export async function packSnapshot(
|
|
@@ -636,9 +671,15 @@ export async function inspectPikg(path: string): Promise<PikgInspectionResult> {
|
|
|
636
671
|
Boolean(jwtEntry),
|
|
637
672
|
!jsonDoc || !jwtDoc || appDocObjectId(jsonDoc) === appDocObjectId(jwtDoc),
|
|
638
673
|
)
|
|
674
|
+
let aiws: Record<string, unknown> | undefined
|
|
675
|
+
if (appDoc.app_type === 'aiws') {
|
|
676
|
+
const sub = validated.subpackages[0]
|
|
677
|
+
aiws = await verifyAiwsPayload(await readZipEntry(archive, archive.byName.get(sub.payload_path)!, MAX_AIWS_PAYLOAD_BYTES))
|
|
678
|
+
}
|
|
639
679
|
const pikgDigest = await digestFile(path)
|
|
640
680
|
return {
|
|
641
681
|
schema_version: 1,
|
|
682
|
+
...(aiws ? { aiws } : {}),
|
|
642
683
|
protocol: PACKAGE_META_SCHEMA,
|
|
643
684
|
pikg_path: resolve(path),
|
|
644
685
|
size: pikgDigest.size,
|
|
@@ -954,7 +995,7 @@ export function validateAppDocShape(appDoc: Record<string, unknown>): void {
|
|
|
954
995
|
expectNonEmptyString(appDoc[field], `APPDOC.${field}`)
|
|
955
996
|
}
|
|
956
997
|
if (appDoc.doc_type !== 'app') throw invalid('appdoc', 'APPDOC.doc_type must be app')
|
|
957
|
-
if (!['service', 'dapp', 'web', 'agent', 'agent_skills'].includes(String(appDoc.app_type))) {
|
|
998
|
+
if (!['service', 'dapp', 'web', 'agent', 'agent_skills', 'aiws'].includes(String(appDoc.app_type))) {
|
|
958
999
|
throw invalid('appdoc', 'APPDOC.app_type is invalid')
|
|
959
1000
|
}
|
|
960
1001
|
if (appDoc.name !== undefined) expectNonEmptyString(appDoc.name, 'APPDOC.name')
|
|
@@ -1014,6 +1055,10 @@ export function validateAppDocShape(appDoc: Record<string, unknown>): void {
|
|
|
1014
1055
|
throw invalid('appdoc', 'an agent_skills App must contain only the agent_skills sub package')
|
|
1015
1056
|
}
|
|
1016
1057
|
}
|
|
1058
|
+
// AI Workspace controls (buckyos aiworkspace README “Extension controls”): one bundle, nothing to run
|
|
1059
|
+
if (appDoc.app_type === 'aiws' && Object.keys(pkgList).join() !== AIWS_SUB_PACKAGE) {
|
|
1060
|
+
throw invalid('appdoc', 'an aiws package must contain only the aiws sub package')
|
|
1061
|
+
}
|
|
1017
1062
|
deriveNamespaceForPackage(appDoc)
|
|
1018
1063
|
}
|
|
1019
1064
|
|
package/cli/modules/share.ts
CHANGED
|
@@ -65,7 +65,8 @@ async function openNfsp(ctx: CommandContext): Promise<NfspSession> {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
/** The Zone gateway origin of a service endpoint (`…/kapi/<service>`): where `/nfs/v1` and other routes live. */
|
|
69
|
+
export function gatewayOrigin(endpoint: string): string {
|
|
69
70
|
const url = new URL(endpoint)
|
|
70
71
|
const marker = url.pathname.indexOf('/kapi')
|
|
71
72
|
url.pathname = marker >= 0 ? url.pathname.slice(0, marker) || '/' : '/'
|
package/cli/version.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Generated by scripts/generate-cli-version.mjs. Do not edit.
|
|
2
|
-
export const PACKAGE_VERSION = '0.7.
|
|
2
|
+
export const PACKAGE_VERSION = '0.7.162'
|
|
3
3
|
export const TOOL_VERSION = PACKAGE_VERSION
|
|
4
4
|
export const SDK_VERSION = PACKAGE_VERSION
|
|
5
5
|
export const PROTOCOL_VERSION = '1'
|
|
@@ -44,6 +44,196 @@ export interface AiwsReference {
|
|
|
44
44
|
export declare function aiwsReferenceUrl(reference: AiwsReference, workspaceId?: string): string;
|
|
45
45
|
/** The Reference an `obj://aiworkspace/<ws>/entities/<entity_id>[?...]` URL projects. */
|
|
46
46
|
export declare function parseAiwsReferenceUrl(url: string): AiwsReference;
|
|
47
|
+
/** What `ext.upgrade` / `ext.build` rewrite on the instances of a definition whose new version narrows what they rely
|
|
48
|
+
* on (schemas/migration.schema.json, Q30). */
|
|
49
|
+
export interface AiwsMigration {
|
|
50
|
+
config?: {
|
|
51
|
+
rename?: Record<string, string>;
|
|
52
|
+
drop?: string[];
|
|
53
|
+
fill?: Record<string, unknown>;
|
|
54
|
+
};
|
|
55
|
+
bindings?: {
|
|
56
|
+
rename?: Record<string, string>;
|
|
57
|
+
drop?: string[];
|
|
58
|
+
fill?: Record<string, {
|
|
59
|
+
entity_id: string;
|
|
60
|
+
}>;
|
|
61
|
+
};
|
|
62
|
+
slots?: {
|
|
63
|
+
rename?: Record<string, string>;
|
|
64
|
+
move?: Record<string, string>;
|
|
65
|
+
};
|
|
66
|
+
events?: {
|
|
67
|
+
rename?: Record<string, string>;
|
|
68
|
+
drop?: string[];
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export interface AiwsExtBuildParams {
|
|
72
|
+
files: ({
|
|
73
|
+
name: string;
|
|
74
|
+
obj_id: string;
|
|
75
|
+
} | {
|
|
76
|
+
name: string;
|
|
77
|
+
base64: string;
|
|
78
|
+
})[];
|
|
79
|
+
folder_id?: string;
|
|
80
|
+
expect?: {
|
|
81
|
+
def_rev: number;
|
|
82
|
+
dir_rev: number;
|
|
83
|
+
};
|
|
84
|
+
force?: boolean;
|
|
85
|
+
dry_run?: boolean;
|
|
86
|
+
provenance?: {
|
|
87
|
+
pkg_id?: string;
|
|
88
|
+
version?: string;
|
|
89
|
+
digest?: string;
|
|
90
|
+
};
|
|
91
|
+
/** With `provenance`: rebuild an identity the folder holds from another source (an upgrade across Zones, Q30). */
|
|
92
|
+
upgrade?: boolean;
|
|
93
|
+
/** `{ <ident>: Migration }` for a build that narrows what instances rely on. */
|
|
94
|
+
migration?: Record<string, AiwsMigration>;
|
|
95
|
+
idempotency_key?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface AiwsExtUpgradeParams {
|
|
98
|
+
workspace_id: string;
|
|
99
|
+
/** `pkg_id` default: the package the definition was imported from (`provenance.pkg_id`). */
|
|
100
|
+
items: {
|
|
101
|
+
def_entity_id: string;
|
|
102
|
+
pkg_id?: string;
|
|
103
|
+
}[];
|
|
104
|
+
migration?: Record<string, AiwsMigration>;
|
|
105
|
+
force?: boolean;
|
|
106
|
+
dry_run?: boolean;
|
|
107
|
+
idempotency_key?: string;
|
|
108
|
+
}
|
|
109
|
+
export interface AiwsExtUpgradeResult {
|
|
110
|
+
status: 'accepted' | 'unchanged' | 'checked';
|
|
111
|
+
commit_id?: string;
|
|
112
|
+
seq?: number;
|
|
113
|
+
controls: {
|
|
114
|
+
ident: string;
|
|
115
|
+
def_entity_id: string;
|
|
116
|
+
action: 'upgraded' | 'unchanged';
|
|
117
|
+
from?: string;
|
|
118
|
+
to?: string;
|
|
119
|
+
migrated?: string[];
|
|
120
|
+
}[];
|
|
121
|
+
/** `dry_run`: what the migration writes on each instance. */
|
|
122
|
+
plan?: {
|
|
123
|
+
instance: string;
|
|
124
|
+
ops: Record<string, unknown>[];
|
|
125
|
+
}[];
|
|
126
|
+
}
|
|
127
|
+
export interface AiwsTemplateParam {
|
|
128
|
+
type: 'string' | 'number' | 'boolean';
|
|
129
|
+
title?: string;
|
|
130
|
+
default?: string | number | boolean;
|
|
131
|
+
}
|
|
132
|
+
/** A Workspace template of a control package (aiws-manifest.json `workspace_templates`, schemas/template.schema.json,
|
|
133
|
+
* Q32): a snapshot under `templates/<id>/` and the controls of the same package it needs. */
|
|
134
|
+
export interface AiwsTemplateItem {
|
|
135
|
+
id: string;
|
|
136
|
+
title: string;
|
|
137
|
+
description?: string;
|
|
138
|
+
snapshot: string;
|
|
139
|
+
digest: string;
|
|
140
|
+
requires: {
|
|
141
|
+
host_api?: {
|
|
142
|
+
html?: number;
|
|
143
|
+
declarative?: number;
|
|
144
|
+
};
|
|
145
|
+
controls: string[];
|
|
146
|
+
};
|
|
147
|
+
params?: Record<string, AiwsTemplateParam>;
|
|
148
|
+
reset?: {
|
|
149
|
+
tables?: string[];
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/** One template to export (`ext.export_template`, `ext.pack` / `ext.install` `templates`): chosen Surfaces (and data
|
|
153
|
+
* entities) of the Workspace. */
|
|
154
|
+
export interface AiwsTemplateExport {
|
|
155
|
+
surfaces: string[];
|
|
156
|
+
data?: string[];
|
|
157
|
+
template: {
|
|
158
|
+
id: string;
|
|
159
|
+
title: string;
|
|
160
|
+
description?: string;
|
|
161
|
+
params?: Record<string, AiwsTemplateParam>;
|
|
162
|
+
reset?: {
|
|
163
|
+
tables: string[];
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/** `ext.build` / `ext.import`: one entry per control (`created | rebuilt | unchanged | satisfied`), the first also at the top. */
|
|
168
|
+
export interface AiwsExtBuildResult {
|
|
169
|
+
status: 'accepted' | 'unchanged' | 'checked';
|
|
170
|
+
commit_id?: string;
|
|
171
|
+
seq?: number;
|
|
172
|
+
unchanged?: boolean;
|
|
173
|
+
ident?: string;
|
|
174
|
+
def_entity_id?: string;
|
|
175
|
+
dir_entity_id?: string;
|
|
176
|
+
version?: number;
|
|
177
|
+
def_rev?: number;
|
|
178
|
+
dir_rev?: number;
|
|
179
|
+
action?: string;
|
|
180
|
+
build?: {
|
|
181
|
+
input_digest: string;
|
|
182
|
+
builder_version: string;
|
|
183
|
+
built_at: string;
|
|
184
|
+
};
|
|
185
|
+
controls: Record<string, unknown>[];
|
|
186
|
+
diagnostics: Record<string, unknown>[];
|
|
187
|
+
}
|
|
188
|
+
export interface AiwsLibraryPackage {
|
|
189
|
+
pkg_id: string;
|
|
190
|
+
version: string;
|
|
191
|
+
title: string;
|
|
192
|
+
author: string;
|
|
193
|
+
mode: string;
|
|
194
|
+
installed_at: string;
|
|
195
|
+
/** The package's manifest_version is above what the service reads: listed, not importable. */
|
|
196
|
+
needs_newer?: boolean;
|
|
197
|
+
controls: {
|
|
198
|
+
ident: string;
|
|
199
|
+
name: string;
|
|
200
|
+
kind: string;
|
|
201
|
+
version: number;
|
|
202
|
+
digest: string;
|
|
203
|
+
dir: string;
|
|
204
|
+
title?: string;
|
|
205
|
+
description?: string;
|
|
206
|
+
catalog?: Record<string, unknown>;
|
|
207
|
+
deps?: string[];
|
|
208
|
+
}[];
|
|
209
|
+
templates?: {
|
|
210
|
+
id: string;
|
|
211
|
+
title: string;
|
|
212
|
+
description?: string;
|
|
213
|
+
params?: Record<string, AiwsTemplateParam>;
|
|
214
|
+
requires: AiwsTemplateItem['requires'];
|
|
215
|
+
}[];
|
|
216
|
+
}
|
|
217
|
+
/** `ext.pack`: the `.pikg` the service wrote into the caller's `exports` bucket. */
|
|
218
|
+
export interface AiwsExtPackResult {
|
|
219
|
+
bucket_id: string;
|
|
220
|
+
key: string;
|
|
221
|
+
obj_id: string;
|
|
222
|
+
size: number;
|
|
223
|
+
digest: string;
|
|
224
|
+
app_doc_object_id: string;
|
|
225
|
+
app_did: string;
|
|
226
|
+
pkg_id: string;
|
|
227
|
+
version: string;
|
|
228
|
+
/** The bucket binding with a read token (as `doc.export`'s `download`). */
|
|
229
|
+
download: {
|
|
230
|
+
bucket_id: string;
|
|
231
|
+
key: string;
|
|
232
|
+
version: number;
|
|
233
|
+
obj_id: string;
|
|
234
|
+
token: string;
|
|
235
|
+
};
|
|
236
|
+
}
|
|
47
237
|
/** What an executor outside the service reports for a run (M3): results in the Mock executor's shape, or an analysis. */
|
|
48
238
|
export interface AiwsRunReport {
|
|
49
239
|
run_id: string;
|
|
@@ -82,6 +272,123 @@ export declare class AiWorkspaceClient {
|
|
|
82
272
|
/** The three-state commit result (`status: accepted | conflict | rejected`), never thrown. */
|
|
83
273
|
commit(workspace_id: string, request: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
84
274
|
getSubmission(workspace_id: string, epoch: string, idempotency_key: string): Promise<Record<string, unknown>>;
|
|
275
|
+
/** Changes after `after_seq` (`filter.detail: "touched"` for the touched entities only). */
|
|
276
|
+
getChanges(workspace_id: string, epoch: string, after_seq: number, opts?: {
|
|
277
|
+
limit?: number;
|
|
278
|
+
touchedOnly?: boolean;
|
|
279
|
+
}): Promise<Record<string, unknown>>;
|
|
280
|
+
/** Long poll until the head passes `after_seq` (or `timeout_ms`). */
|
|
281
|
+
waitChanges(workspace_id: string, after_seq: number, opts?: {
|
|
282
|
+
epoch?: string;
|
|
283
|
+
timeout_ms?: number;
|
|
284
|
+
}): Promise<{
|
|
285
|
+
epoch: string;
|
|
286
|
+
head_seq: number;
|
|
287
|
+
timed_out: boolean;
|
|
288
|
+
}>;
|
|
289
|
+
/** A whole-Workspace package (`.bcanvas`): `download` names it in the owner's exports bucket. */
|
|
290
|
+
exportDoc(workspace_id: string, mode: 'share' | 'personal_backup', self_contained: boolean, include_notes?: boolean): Promise<Record<string, unknown>>;
|
|
291
|
+
/** Register a FileObject as a staged asset: `{ bucket_id, key }` (the uploader's binding) or `{ obj_id }`. */
|
|
292
|
+
assetImportObject(workspace_id: string, source: {
|
|
293
|
+
bucket_id: string;
|
|
294
|
+
key: string;
|
|
295
|
+
} | {
|
|
296
|
+
obj_id: string;
|
|
297
|
+
}): Promise<{
|
|
298
|
+
object_id: string;
|
|
299
|
+
media_type: string;
|
|
300
|
+
size: number;
|
|
301
|
+
}>;
|
|
302
|
+
controlsList(): Promise<Record<string, unknown>>;
|
|
303
|
+
controlsDescribe(kind: string): Promise<Record<string, unknown>>;
|
|
304
|
+
controlsImport(workspace_id: string, params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
305
|
+
controlsExport(workspace_id: string, entity_id: string, format?: 'markdown' | 'opml'): Promise<Record<string, unknown>>;
|
|
306
|
+
/** Build one control's source files into the Workspace; `BUILD_FAILED` carries `data.diagnostics`. */
|
|
307
|
+
extBuild(workspace_id: string, params: AiwsExtBuildParams): Promise<AiwsExtBuildResult>;
|
|
308
|
+
/** The bundle of definitions (`purpose: pull` needs read only and synthesizes the source of never-built ones). */
|
|
309
|
+
extExport(workspace_id: string, entity_ids: string[], purpose?: 'package' | 'pull'): Promise<{
|
|
310
|
+
manifest: Record<string, unknown>;
|
|
311
|
+
controls: Record<string, unknown>[];
|
|
312
|
+
files: {
|
|
313
|
+
path: string;
|
|
314
|
+
obj_id?: string;
|
|
315
|
+
size: number;
|
|
316
|
+
text?: string;
|
|
317
|
+
}[];
|
|
318
|
+
}>;
|
|
319
|
+
/** Into the caller's library: a `.pikg` object or one bound into the caller's `exports` bucket (consumed), or
|
|
320
|
+
* definitions of a Workspace (`from` + `package`). */
|
|
321
|
+
extInstall(params: {
|
|
322
|
+
pikg?: {
|
|
323
|
+
obj_id: string;
|
|
324
|
+
} | {
|
|
325
|
+
bucket_id: string;
|
|
326
|
+
key: string;
|
|
327
|
+
};
|
|
328
|
+
from?: {
|
|
329
|
+
workspace_id: string;
|
|
330
|
+
entity_ids: string[];
|
|
331
|
+
templates?: AiwsTemplateExport[];
|
|
332
|
+
};
|
|
333
|
+
package?: {
|
|
334
|
+
name: string;
|
|
335
|
+
version?: string;
|
|
336
|
+
title?: string;
|
|
337
|
+
};
|
|
338
|
+
mode?: 'dev';
|
|
339
|
+
}): Promise<{
|
|
340
|
+
pkg_id: string;
|
|
341
|
+
version: string;
|
|
342
|
+
action: string;
|
|
343
|
+
controls: Record<string, unknown>[];
|
|
344
|
+
}>;
|
|
345
|
+
/** Pack definitions (and what they build on, and templates of the Workspace) as an `aiws` `.pikg` into the caller's
|
|
346
|
+
* `exports` bucket (unsigned). */
|
|
347
|
+
extPack(workspace_id: string, entity_ids: string[], pkg: {
|
|
348
|
+
name: string;
|
|
349
|
+
version?: string;
|
|
350
|
+
title?: string;
|
|
351
|
+
}, templates?: AiwsTemplateExport[]): Promise<AiwsExtPackResult>;
|
|
352
|
+
/** Rebuild imported definitions from the caller's library (same Zone; across Zones `ext.build { provenance, upgrade }`):
|
|
353
|
+
* `EXT_LOCAL_CHANGES` when the snapshot was built locally since, unless `force`. */
|
|
354
|
+
extUpgrade(params: AiwsExtUpgradeParams): Promise<AiwsExtUpgradeResult>;
|
|
355
|
+
/** Chosen Surfaces as a template snapshot: the manifest item, the definitions it needs and the files (base64) of
|
|
356
|
+
* `templates/<id>/`. */
|
|
357
|
+
extExportTemplate(params: {
|
|
358
|
+
workspace_id: string;
|
|
359
|
+
} & AiwsTemplateExport): Promise<{
|
|
360
|
+
template: AiwsTemplateItem;
|
|
361
|
+
controls: Record<string, unknown>[];
|
|
362
|
+
files: {
|
|
363
|
+
path: string;
|
|
364
|
+
base64: string;
|
|
365
|
+
}[];
|
|
366
|
+
}>;
|
|
367
|
+
/** A new Workspace from a template of the caller's library (installing a template never creates one). */
|
|
368
|
+
extCreateFromTemplate(params: {
|
|
369
|
+
pkg_id: string;
|
|
370
|
+
template_id: string;
|
|
371
|
+
title?: string;
|
|
372
|
+
params?: Record<string, string | number | boolean>;
|
|
373
|
+
}): Promise<{
|
|
374
|
+
workspace_id: string;
|
|
375
|
+
}>;
|
|
376
|
+
extListLibrary(): Promise<{
|
|
377
|
+
packages: AiwsLibraryPackage[];
|
|
378
|
+
}>;
|
|
379
|
+
extUninstall(pkg_id: string): Promise<Record<string, unknown>>;
|
|
380
|
+
/** A library package's controls with their bytes (base64): what a client relays into a Workspace of another Zone. */
|
|
381
|
+
extLibraryBundle(pkg_id: string, idents?: string[]): Promise<{
|
|
382
|
+
pkg_id: string;
|
|
383
|
+
controls: Record<string, unknown>[];
|
|
384
|
+
}>;
|
|
385
|
+
/** Bring library controls into a Workspace of this Zone (one Commit). */
|
|
386
|
+
extImport(workspace_id: string, items: {
|
|
387
|
+
pkg_id: string;
|
|
388
|
+
ident: string;
|
|
389
|
+
}[], opts?: {
|
|
390
|
+
folder_id?: string;
|
|
391
|
+
}): Promise<AiwsExtBuildResult>;
|
|
85
392
|
runStart(workspace_id: string, program: string, params: Record<string, unknown>, idempotency_key: string): Promise<Record<string, unknown>>;
|
|
86
393
|
runGet(workspace_id: string, run_id: string, choices?: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
87
394
|
runList(workspace_id: string, wish_id?: string, limit?: number): Promise<Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiworkspace_client.d.ts","sourceRoot":"","sources":["../src/aiworkspace_client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aiworkspace_client.d.ts","sourceRoot":"","sources":["../src/aiworkspace_client.ts"],"names":[],"mappings":"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"}
|