@xemahq/agent-session-runtime 0.2.0 → 0.3.0

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.
@@ -1,4 +1,4 @@
1
- import { type ModelRef } from '@xemahq/kernel-contracts/workflow';
1
+ import { type CompiledManifestCredential, type CompiledManifestPermissions, type ModelRef } from '@xemahq/kernel-contracts/workflow';
2
2
  import type { PermissionMap } from '@xemahq/kernel-contracts/agent-permission';
3
3
  import { type CompiledWorkspaceManifest } from '@xemahq/dsl/workspace-manifest';
4
4
  export type { CompiledWorkspaceManifest };
@@ -38,6 +38,8 @@ export interface CompositionManifestSource {
38
38
  readonly subAgentBindings: readonly CompositionSubAgentBindingInput[];
39
39
  readonly mountLayout: CompositionMountLayoutInput | undefined;
40
40
  readonly outputSurface?: CompositionOutputSurfaceInput;
41
+ readonly credentials?: readonly CompiledManifestCredential[];
42
+ readonly permissions?: CompiledManifestPermissions;
41
43
  }
42
44
  export interface CompositionManifestImplicitInputs {
43
45
  readonly orgId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"composition-workspace-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/composition-workspace-manifest.ts"],"names":[],"mappings":"AA6BA,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAEL,KAAK,yBAAyB,EAQ/B,MAAM,gCAAgC,CAAC;AAMxC,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAQ1C,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAOnD;AAOD,MAAM,WAAW,8BAA8B;IAE7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AASD,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,8BAA8B,CAAC;IAExD,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;IAEvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAaD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAElC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAcD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAOD,MAAM,WAAW,yBAAyB;IAExC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAMtE,QAAQ,CAAC,WAAW,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAU9D,QAAQ,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC;CACxD;AAaD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAwBD,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,yBAAyB,EACjC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC5C,yBAAyB,CAkG3B;AA8CD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,yBAAyB,EACjC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC9C,cAAc,EAAE,iCAAiC,GAChD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA6CnC"}
1
+ {"version":3,"file":"composition-workspace-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/composition-workspace-manifest.ts"],"names":[],"mappings":"AA6BA,OAAO,EAIL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,QAAQ,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAEL,KAAK,yBAAyB,EAU/B,MAAM,gCAAgC,CAAC;AAMxC,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAQ1C,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAOnD;AAOD,MAAM,WAAW,8BAA8B;IAE7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AASD,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,8BAA8B,CAAC;IAExD,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;IAEvC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAaD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAElC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAcD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAOD,MAAM,WAAW,yBAAyB;IAExC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAMtE,QAAQ,CAAC,WAAW,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAU9D,QAAQ,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC;IAavD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAa7D,QAAQ,CAAC,WAAW,CAAC,EAAE,2BAA2B,CAAC;CACpD;AAaD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAwBD,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,yBAAyB,EACjC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC5C,yBAAyB,CAsG3B;AA0GD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,yBAAyB,EACjC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAC9C,cAAc,EAAE,iCAAiC,GAChD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA6CnC"}
@@ -36,6 +36,8 @@ function compileCompositionWorkspaceManifest(source, bindInputs) {
36
36
  : {}),
37
37
  }));
38
38
  const outputSurface = projectOutputSurface(source.outputSurface);
39
+ const credentials = projectCredentials(source.credentials);
40
+ const permissions = projectPermissions(source.permissions);
39
41
  const spec = {
40
42
  mounts: mountLayout.mounts,
41
43
  agent: {
@@ -58,6 +60,8 @@ function compileCompositionWorkspaceManifest(source, bindInputs) {
58
60
  }
59
61
  : {}),
60
62
  ...(outputSurface === undefined ? {} : { outputSurface }),
63
+ ...(credentials === undefined ? {} : { credentials }),
64
+ ...(permissions === undefined ? {} : { permissions }),
61
65
  };
62
66
  const envelope = {
63
67
  apiVersion: 'xema.dev/workspace/v1',
@@ -94,6 +98,26 @@ function projectOutputSurface(surface) {
94
98
  : { defaultDocument: surface.defaultDocument }),
95
99
  };
96
100
  }
101
+ function projectCredentials(credentials) {
102
+ if (credentials === undefined)
103
+ return undefined;
104
+ return credentials.map((credential) => ({
105
+ name: credential.name,
106
+ kind: credential.kind,
107
+ sourceRef: credential.sourceRef,
108
+ required: credential.required,
109
+ }));
110
+ }
111
+ function projectPermissions(permissions) {
112
+ if (permissions === undefined)
113
+ return undefined;
114
+ return {
115
+ tools: {
116
+ allow: permissions.tools.allow,
117
+ deny: permissions.tools.deny,
118
+ },
119
+ };
120
+ }
97
121
  function buildCompositionManifestBindInputs(source, explicitInputs, implicitInputs) {
98
122
  const declared = new Set(Object.keys(source.mountLayout?.inputs ?? {}));
99
123
  if (declared.size === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"composition-workspace-manifest.js","sourceRoot":"","sources":["../../src/lib/composition-workspace-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition-workspace-manifest.js","sourceRoot":"","sources":["../../src/lib/composition-workspace-manifest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/agent-session-runtime",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@xemahq/dsl": "^0.1.1",
41
- "@xemahq/kernel-contracts": "^0.3.6"
41
+ "@xemahq/kernel-contracts": "^0.3.7"
42
42
  },
43
43
  "scripts": {
44
44
  "clean": "rm -rf dist",
@@ -31,15 +31,19 @@ import {
31
31
  ManifestSurface,
32
32
  OutputSurfaceKind,
33
33
  type AgentRunRole,
34
+ type CompiledManifestCredential,
35
+ type CompiledManifestPermissions,
34
36
  type ModelRef,
35
37
  } from '@xemahq/kernel-contracts/workflow';
36
38
  import type { PermissionMap } from '@xemahq/kernel-contracts/agent-permission';
37
39
  import {
38
40
  compileManifest,
39
41
  type CompiledWorkspaceManifest,
42
+ type ManifestCredential,
40
43
  type ManifestInputDeclaration,
41
44
  type ManifestMountsBlock,
42
45
  type ManifestOutputSurface,
46
+ type ManifestPermissions,
43
47
  type ManifestSeedFile,
44
48
  type ManifestSubAgent,
45
49
  type WorkspaceManifest as DslWorkspaceManifest,
@@ -175,6 +179,32 @@ export interface CompositionManifestSource {
175
179
  * `{ kind: 'none' }` default.
176
180
  */
177
181
  readonly outputSurface?: CompositionOutputSurfaceInput;
182
+ /**
183
+ * The composition's `workspace.credentials` block. Threaded into the
184
+ * reconstructed manifest's `spec.credentials` so the compiled manifest's
185
+ * `credentials` matches the source-of-truth — the EnvironmentResolver
186
+ * reads the same `{name, kind, sourceRef, required}` entries the
187
+ * authored composition declared (BUG-1 carry-through: authored
188
+ * `spec.credentials` were silently dropped on reconstruction). Carried
189
+ * as the kernel `CompiledManifestCredential[]` because that is the shape
190
+ * `composition.workspace.credentials` holds (the seeder projects the
191
+ * authored entries through the manifest compiler). `undefined` when the
192
+ * composition declared none — the DSL compile then yields `[]`.
193
+ */
194
+ readonly credentials?: readonly CompiledManifestCredential[];
195
+ /**
196
+ * The composition's `workspace.permissions` block. Threaded into the
197
+ * reconstructed manifest's `spec.permissions` so the compiled manifest's
198
+ * `permissions` matches the source-of-truth — the EnvironmentResolver
199
+ * reads the same `{tools: {allow, deny}}` the authored composition
200
+ * declared (BUG-1 carry-through: authored `spec.permissions` were
201
+ * silently dropped on reconstruction). Carried as the kernel
202
+ * `CompiledManifestPermissions` because that is the shape
203
+ * `composition.workspace.permissions` holds. `undefined` when the
204
+ * composition declared none — the DSL compile then yields
205
+ * `{ tools: { allow: [], deny: [] } }`.
206
+ */
207
+ readonly permissions?: CompiledManifestPermissions;
178
208
  }
179
209
 
180
210
  /**
@@ -265,6 +295,8 @@ export function compileCompositionWorkspaceManifest(
265
295
  // `WorkspaceManifestSchema`, so the casts here are checked downstream,
266
296
  // not silently trusted.
267
297
  const outputSurface = projectOutputSurface(source.outputSurface);
298
+ const credentials = projectCredentials(source.credentials);
299
+ const permissions = projectPermissions(source.permissions);
268
300
  const spec: WorkspaceManifestSpec = {
269
301
  mounts: mountLayout.mounts as unknown as ManifestMountsBlock,
270
302
  agent: {
@@ -291,6 +323,8 @@ export function compileCompositionWorkspaceManifest(
291
323
  }
292
324
  : {}),
293
325
  ...(outputSurface === undefined ? {} : { outputSurface }),
326
+ ...(credentials === undefined ? {} : { credentials }),
327
+ ...(permissions === undefined ? {} : { permissions }),
294
328
  };
295
329
 
296
330
  const envelope: DslWorkspaceManifest = {
@@ -350,6 +384,66 @@ function projectOutputSurface(
350
384
  };
351
385
  }
352
386
 
387
+ /**
388
+ * Project the composition's `workspace.credentials` block (carried on the
389
+ * runtime-agnostic `CompositionManifestSource` as the kernel
390
+ * `CompiledManifestCredential[]`) into the manifest DSL's authored
391
+ * `ManifestCredential[]` shape so the reconstructed envelope's
392
+ * `spec.credentials` carries the same entries as the source.
393
+ *
394
+ * The compiled shape is a structural superset of the authored shape
395
+ * (`{name, kind, sourceRef}` plus a now-required `required` boolean), so the
396
+ * projection is a 1:1 field copy — `compileManifest`'s Zod schema below
397
+ * re-validates each entry and re-defaults `required` idempotently. The map
398
+ * is explicit (not a pass-through cast) so a malformed entry fails fast at
399
+ * the manifest compile boundary, mirroring {@link projectOutputSurface}.
400
+ *
401
+ * Returns `undefined` when the composition declared no credentials — the DSL
402
+ * `compileManifest` then defaults the compiled `credentials` to `[]`.
403
+ */
404
+ function projectCredentials(
405
+ credentials: readonly CompiledManifestCredential[] | undefined,
406
+ ): readonly ManifestCredential[] | undefined {
407
+ if (credentials === undefined) return undefined;
408
+ return credentials.map((credential) => ({
409
+ name: credential.name,
410
+ kind: credential.kind,
411
+ sourceRef: credential.sourceRef,
412
+ required: credential.required,
413
+ }));
414
+ }
415
+
416
+ /**
417
+ * Project the composition's `workspace.permissions` block (carried on the
418
+ * runtime-agnostic `CompositionManifestSource` as the kernel
419
+ * `CompiledManifestPermissions`) into the manifest DSL's authored
420
+ * `ManifestPermissions` shape so the reconstructed envelope's
421
+ * `spec.permissions` carries the same tool allow/deny lists as the source.
422
+ *
423
+ * The compiled shape is a structural superset of the authored shape (the
424
+ * compiled `tools.allow` / `tools.deny` are always present; the authored
425
+ * ones are optional), so the projection is a 1:1 field copy —
426
+ * `compileManifest`'s Zod schema below re-validates and re-defaults the
427
+ * lists idempotently. Explicit (not a pass-through cast) so a malformed
428
+ * block fails fast at the manifest compile boundary, mirroring
429
+ * {@link projectOutputSurface}.
430
+ *
431
+ * Returns `undefined` when the composition declared no permissions — the DSL
432
+ * `compileManifest` then defaults the compiled `permissions` to
433
+ * `{ tools: { allow: [], deny: [] } }`.
434
+ */
435
+ function projectPermissions(
436
+ permissions: CompiledManifestPermissions | undefined,
437
+ ): ManifestPermissions | undefined {
438
+ if (permissions === undefined) return undefined;
439
+ return {
440
+ tools: {
441
+ allow: permissions.tools.allow,
442
+ deny: permissions.tools.deny,
443
+ },
444
+ };
445
+ }
446
+
353
447
  /**
354
448
  * Build the manifest bind-input bag from the caller's explicit input bag
355
449
  * and the implicit inputs, validated against the composition's declared