@noodleseed/one 0.164.0 → 0.166.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.
Files changed (116) hide show
  1. package/dist/commands/deploy-status-ops.d.ts +2 -0
  2. package/dist/commands/deploy-status-ops.d.ts.map +1 -1
  3. package/dist/commands/deploy-status-ops.js +11 -0
  4. package/dist/commands/deploy-status-ops.js.map +1 -1
  5. package/dist/commands/solutions-coordination.d.ts +5 -0
  6. package/dist/commands/solutions-coordination.d.ts.map +1 -0
  7. package/dist/commands/solutions-coordination.js +94 -0
  8. package/dist/commands/solutions-coordination.js.map +1 -0
  9. package/dist/commands/solutions-ops.d.ts.map +1 -1
  10. package/dist/commands/solutions-ops.js +8 -4
  11. package/dist/commands/solutions-ops.js.map +1 -1
  12. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +2 -0
  13. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +3 -3
  14. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +2 -0
  15. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +4 -1
  16. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  17. package/node_modules/@noodle-borg/assistant-gateway/dist/embed-store.d.ts +4 -0
  18. package/node_modules/@noodle-borg/assistant-gateway/dist/in-memory-embed-store.d.ts +4 -0
  19. package/node_modules/@noodle-borg/assistant-gateway/dist/in-memory-embed-store.js +6 -2
  20. package/node_modules/@noodle-borg/authoring/dist/config.d.ts +8 -2
  21. package/node_modules/@noodle-borg/authoring/dist/config.js +28 -1
  22. package/node_modules/@noodle-borg/authoring/dist/connectors.d.ts +37 -0
  23. package/node_modules/@noodle-borg/authoring/dist/connectors.js +4 -0
  24. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +1 -1
  25. package/node_modules/@noodle-borg/authoring/dist/server.js +1 -0
  26. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-solution-flags.js +83 -0
  27. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-solutions.js +70 -92
  28. package/node_modules/@noodle-borg/compiler/dist/artifact/operation-ref.d.ts +2 -0
  29. package/node_modules/@noodle-borg/compiler/dist/artifact/version.d.ts +4 -1
  30. package/node_modules/@noodle-borg/compiler/dist/artifact/version.js +4 -1
  31. package/node_modules/@noodle-borg/compiler/dist/catalog/types.d.ts +7 -0
  32. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
  33. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js +15 -2
  34. package/node_modules/@noodle-borg/compiler/dist/nested-operations.js +71 -0
  35. package/node_modules/@noodle-borg/compute/dist/code-connector.js +14 -2
  36. package/node_modules/@noodle-borg/compute/dist/deterministic-helpers.js +138 -0
  37. package/node_modules/@noodle-borg/compute/dist/quickjs-engine.js +48 -0
  38. package/node_modules/@noodle-borg/compute/dist/sandbox-eval.js +39 -5
  39. package/node_modules/@noodle-borg/compute/dist/worker-entry.js +7 -0
  40. package/node_modules/@noodle-borg/compute/dist/worker-pool.js +14 -3
  41. package/node_modules/@noodle-borg/connector-defs/dist/compile-http.js +31 -2
  42. package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts +1 -1
  43. package/node_modules/@noodle-borg/connector-defs/dist/compile.js +20 -0
  44. package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +84 -0
  45. package/node_modules/@noodle-borg/connector-defs/dist/schema.js +44 -1
  46. package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +7 -0
  47. package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +34 -6
  48. package/node_modules/@noodle-borg/connector-http/dist/http-response.d.ts +8 -1
  49. package/node_modules/@noodle-borg/connector-http/dist/http-response.js +19 -10
  50. package/node_modules/@noodle-borg/connector-http/dist/index.d.ts +1 -1
  51. package/node_modules/@noodle-borg/module/dist/customer-auth-access.d.ts +7 -0
  52. package/node_modules/@noodle-borg/module/dist/customer-auth-access.js +6 -0
  53. package/node_modules/@noodle-borg/module/dist/index.d.ts +1 -0
  54. package/node_modules/@noodle-borg/module/dist/index.js +1 -0
  55. package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +7 -1
  56. package/node_modules/@noodle-borg/runtime/dist/connector-snapshot.js +8 -0
  57. package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +2 -0
  58. package/node_modules/@noodle-borg/runtime/dist/index.d.ts +1 -0
  59. package/node_modules/@noodle-borg/runtime/dist/nested-operation-host.js +25 -0
  60. package/node_modules/@noodle-borg/runtime/dist/operation-coordination-execution.js +50 -0
  61. package/node_modules/@noodle-borg/runtime/dist/operation-coordination.d.ts +34 -0
  62. package/node_modules/@noodle-borg/runtime/dist/operation-evidence.d.ts +4 -0
  63. package/node_modules/@noodle-borg/runtime/dist/operation-execution.js +173 -94
  64. package/node_modules/@noodle-borg/service/dist/application-activity.js +152 -18
  65. package/node_modules/@noodle-borg/service/dist/application-runtime-target.js +15 -2
  66. package/node_modules/@noodle-borg/service/dist/business-information/definition-resolver.js +19 -0
  67. package/node_modules/@noodle-borg/service/dist/business-information/in-memory-store.js +1 -1
  68. package/node_modules/@noodle-borg/service/dist/business-information/managed-solution-blueprints.js +7 -0
  69. package/node_modules/@noodle-borg/service/dist/business-information/managed-solution-executable.js +11 -1
  70. package/node_modules/@noodle-borg/service/dist/business-information/model.js +2 -2
  71. package/node_modules/@noodle-borg/service/dist/business-information/portable.js +1 -1
  72. package/node_modules/@noodle-borg/service/dist/business-information/profiles.js +37 -1
  73. package/node_modules/@noodle-borg/service/dist/credential-binding-index.js +19 -1
  74. package/node_modules/@noodle-borg/service/dist/customer-auth-audience-binding.js +16 -5
  75. package/node_modules/@noodle-borg/service/dist/deployment-authentication.js +19 -0
  76. package/node_modules/@noodle-borg/service/dist/deployment-execution.js +1 -1
  77. package/node_modules/@noodle-borg/service/dist/deployment-record-version.js +31 -0
  78. package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js +15 -1
  79. package/node_modules/@noodle-borg/service/dist/operation-coordination.js +185 -0
  80. package/node_modules/@noodle-borg/service/dist/operation-evidence.js +3 -1
  81. package/node_modules/@noodle-borg/service/dist/registry-access.js +18 -3
  82. package/node_modules/@noodle-borg/service/dist/registry-compile.js +42 -1
  83. package/node_modules/@noodle-borg/service/dist/registry-deploy-transaction.js +15 -0
  84. package/node_modules/@noodle-borg/service/dist/registry-rollback.js +2 -0
  85. package/node_modules/@noodle-borg/service/dist/registry-state.d.ts +1 -0
  86. package/node_modules/@noodle-borg/service/dist/registry-state.js +12 -5
  87. package/node_modules/@noodle-borg/service/dist/registry-status.js +3 -0
  88. package/node_modules/@noodle-borg/service/dist/registry-targets.js +8 -0
  89. package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +1 -1
  90. package/node_modules/@noodle-borg/service/dist/registry.js +31 -36
  91. package/node_modules/@noodle-borg/service/dist/routes/access.js +5 -0
  92. package/node_modules/@noodle-borg/service/dist/routes/business-information-activity.js +48 -53
  93. package/node_modules/@noodle-borg/service/dist/routes/business-information-dispatch.js +2 -1
  94. package/node_modules/@noodle-borg/service/dist/routes/business-information-installation.js +51 -17
  95. package/node_modules/@noodle-borg/service/dist/routes/business-information-paths.js +6 -4
  96. package/node_modules/@noodle-borg/service/dist/routes/business-information-staff.js +4 -3
  97. package/node_modules/@noodle-borg/service/dist/routes/business-information.js +11 -6
  98. package/node_modules/@noodle-borg/service/dist/routes/deploy-public-embed.js +7 -2
  99. package/node_modules/@noodle-borg/service/dist/service.js +2 -1
  100. package/node_modules/@noodle-borg/service/dist/solution-installation-activation.js +58 -3
  101. package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts +1 -0
  102. package/node_modules/@noodle-borg/service/dist/store/in-memory.js +10 -3
  103. package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts +1 -0
  104. package/node_modules/@noodle-borg/service/dist/store/json-file.js +10 -3
  105. package/node_modules/@noodle-borg/service/dist/store/records.js +4 -2
  106. package/node_modules/@noodle-borg/service/dist/store.d.ts +5 -1
  107. package/node_modules/@noodle-borg/service/package.json +1 -1
  108. package/node_modules/@noodle-borg/wire-contracts/dist/business-information.d.ts +52 -0
  109. package/node_modules/@noodle-borg/wire-contracts/dist/business-information.js +6 -0
  110. package/node_modules/@noodle-borg/wire-contracts/dist/control-plane.d.ts +23 -0
  111. package/node_modules/@noodle-borg/wire-contracts/dist/control-plane.js +34 -4
  112. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +1 -0
  113. package/node_modules/@noodle-borg/wire-contracts/dist/index.js +1 -0
  114. package/node_modules/@noodle-borg/wire-contracts/dist/operation-coordination.d.ts +59 -0
  115. package/node_modules/@noodle-borg/wire-contracts/dist/operation-coordination.js +51 -0
  116. package/package.json +2 -2
@@ -1,6 +1,8 @@
1
1
  /** Strict service-output contracts for control-plane reads and mutations (ADR 0128). */
2
2
  import { z } from 'zod';
3
3
  import { accessModeSchema } from './access-mode.js';
4
+ /** Effective authority enforcing caller authentication for one deployment. */
5
+ export const deploymentAuthenticationSchema = z.enum(['none', 'platform', 'customer']);
4
6
  function containsC0OrDel(value) {
5
7
  for (let index = 0; index < value.length; index += 1) {
6
8
  const codeUnit = value.charCodeAt(index);
@@ -46,6 +48,7 @@ export const accessUpdateResponseSchema = z
46
48
  deploymentId: z.string().min(1),
47
49
  serverVersion: z.string().min(1).optional(),
48
50
  accessMode: accessModeSchema,
51
+ authentication: deploymentAuthenticationSchema.optional(),
49
52
  ownerSubject: deploymentOwnerSubjectSchema.optional(),
50
53
  })
51
54
  .strict(),
@@ -53,6 +56,7 @@ export const accessUpdateResponseSchema = z
53
56
  previousOwnerSubject: deploymentOwnerSubjectSchema.optional(),
54
57
  accessChanged: z.boolean(),
55
58
  ownerChanged: z.boolean(),
59
+ policyChanged: z.boolean().optional(),
56
60
  changed: z.boolean(),
57
61
  })
58
62
  .strict()
@@ -65,11 +69,19 @@ export const accessUpdateResponseSchema = z
65
69
  message: 'owner-only access requires a current owner subject',
66
70
  });
67
71
  }
68
- if (value.changed !== (value.accessChanged || value.ownerChanged)) {
72
+ if ((value.deployment.authentication === undefined) !== (value.policyChanged === undefined)) {
73
+ context.addIssue({
74
+ code: 'custom',
75
+ path: ['policyChanged'],
76
+ message: 'authentication and policyChanged must be present together',
77
+ });
78
+ }
79
+ if (value.changed !==
80
+ (value.accessChanged || value.ownerChanged || (value.policyChanged ?? false))) {
69
81
  context.addIssue({
70
82
  code: 'custom',
71
83
  path: ['changed'],
72
- message: 'changed must equal accessChanged || ownerChanged',
84
+ message: 'changed must equal accessChanged || ownerChanged || policyChanged',
73
85
  });
74
86
  }
75
87
  });
@@ -90,12 +102,14 @@ export const accessUpdateClientResponseSchema = z
90
102
  deploymentId: z.string().min(1),
91
103
  serverVersion: z.string().min(1).optional(),
92
104
  accessMode: accessModeSchema,
105
+ authentication: deploymentAuthenticationSchema.optional(),
93
106
  ownerSubject: deploymentOwnerSubjectSchema.optional(),
94
107
  }),
95
108
  previousAccessMode: accessModeSchema,
96
109
  previousOwnerSubject: deploymentOwnerSubjectSchema.optional(),
97
110
  accessChanged: z.boolean().optional(),
98
111
  ownerChanged: z.boolean().optional(),
112
+ policyChanged: z.boolean().optional(),
99
113
  changed: z.boolean(),
100
114
  })
101
115
  .superRefine((value, context) => {
@@ -107,6 +121,20 @@ export const accessUpdateClientResponseSchema = z
107
121
  message: 'accessChanged and ownerChanged must be present together',
108
122
  });
109
123
  }
124
+ if ((value.deployment.authentication === undefined) !== (value.policyChanged === undefined)) {
125
+ context.addIssue({
126
+ code: 'custom',
127
+ path: ['policyChanged'],
128
+ message: 'authentication and policyChanged must be present together',
129
+ });
130
+ }
131
+ if (value.policyChanged !== undefined && !modernComponents) {
132
+ context.addIssue({
133
+ code: 'custom',
134
+ path: ['policyChanged'],
135
+ message: 'policyChanged requires accessChanged and ownerChanged',
136
+ });
137
+ }
110
138
  if (modernComponents &&
111
139
  value.deployment.accessMode === 'owner-only' &&
112
140
  value.deployment.ownerSubject === undefined) {
@@ -116,11 +144,13 @@ export const accessUpdateClientResponseSchema = z
116
144
  message: 'owner-only access requires a current owner subject',
117
145
  });
118
146
  }
119
- if (modernComponents && value.changed !== (value.accessChanged || value.ownerChanged)) {
147
+ if (modernComponents &&
148
+ value.changed !==
149
+ (value.accessChanged || value.ownerChanged || (value.policyChanged ?? false))) {
120
150
  context.addIssue({
121
151
  code: 'custom',
122
152
  path: ['changed'],
123
- message: 'changed must equal accessChanged || ownerChanged',
153
+ message: 'changed must equal accessChanged || ownerChanged || policyChanged',
124
154
  });
125
155
  }
126
156
  })
@@ -384,4 +384,5 @@ export * from './application-activity.js';
384
384
  export * from './application-connections.js';
385
385
  export * from './application-onboarding.js';
386
386
  export * from './billing-catalog.js';
387
+ export * from './operation-coordination.js';
387
388
  //# sourceMappingURL=index.d.ts.map
@@ -226,4 +226,5 @@ export * from './application-activity.js';
226
226
  export * from './application-connections.js';
227
227
  export * from './application-onboarding.js';
228
228
  export * from './billing-catalog.js';
229
+ export * from './operation-coordination.js';
229
230
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+ export declare const OperationCoordinationListRequestSchema: z.ZodObject<{
3
+ limit: z.ZodOptional<z.ZodNumber>;
4
+ beforeResource: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strict>;
6
+ export declare const OperationCoordinationResolveRequestSchema: z.ZodObject<{
7
+ resource: z.ZodString;
8
+ token: z.ZodUUID;
9
+ reason: z.ZodString;
10
+ }, z.core.$strict>;
11
+ export declare const OperationCoordinationListResponseSchema: z.ZodObject<{
12
+ ok: z.ZodLiteral<true>;
13
+ data: z.ZodObject<{
14
+ records: z.ZodArray<z.ZodObject<{
15
+ resource: z.ZodString;
16
+ token: z.ZodUUID;
17
+ reference: z.ZodString;
18
+ operationDigest: z.ZodString;
19
+ startedAt: z.ZodISODateTime;
20
+ deadline: z.ZodISODateTime;
21
+ state: z.ZodEnum<{
22
+ unknown: "unknown";
23
+ executing: "executing";
24
+ }>;
25
+ }, z.core.$strict>>;
26
+ nextBeforeResource: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strict>;
28
+ }, z.core.$strict>;
29
+ export declare const OperationCoordinationListClientResponseSchema: z.ZodObject<{
30
+ ok: z.ZodLiteral<true>;
31
+ data: z.ZodObject<{
32
+ records: z.ZodArray<z.ZodObject<{
33
+ resource: z.ZodString;
34
+ token: z.ZodUUID;
35
+ reference: z.ZodString;
36
+ operationDigest: z.ZodString;
37
+ startedAt: z.ZodISODateTime;
38
+ deadline: z.ZodISODateTime;
39
+ state: z.ZodEnum<{
40
+ unknown: "unknown";
41
+ executing: "executing";
42
+ }>;
43
+ }, z.core.$strip>>;
44
+ nextBeforeResource: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ }, z.core.$strip>;
47
+ export declare const OperationCoordinationResolveResponseSchema: z.ZodObject<{
48
+ ok: z.ZodLiteral<true>;
49
+ data: z.ZodObject<{
50
+ resolved: z.ZodLiteral<true>;
51
+ }, z.core.$strict>;
52
+ }, z.core.$strict>;
53
+ export declare const OperationCoordinationResolveClientResponseSchema: z.ZodObject<{
54
+ ok: z.ZodLiteral<true>;
55
+ data: z.ZodObject<{
56
+ resolved: z.ZodLiteral<true>;
57
+ }, z.core.$strip>;
58
+ }, z.core.$strip>;
59
+ //# sourceMappingURL=operation-coordination.d.ts.map
@@ -0,0 +1,51 @@
1
+ import { z } from 'zod';
2
+ const ResourceSchema = z.string().regex(/^[a-f0-9]{64}$/);
3
+ export const OperationCoordinationListRequestSchema = z.strictObject({
4
+ limit: z.number().int().min(1).max(100).optional(),
5
+ beforeResource: ResourceSchema.optional(),
6
+ });
7
+ export const OperationCoordinationResolveRequestSchema = z.strictObject({
8
+ resource: ResourceSchema,
9
+ token: z.uuid(),
10
+ reason: z
11
+ .string()
12
+ .trim()
13
+ .min(1)
14
+ .max(256)
15
+ .regex(/^[^\p{Cc}\p{Zl}\p{Zp}]*$/u),
16
+ });
17
+ const RecordSchema = z.strictObject({
18
+ resource: ResourceSchema,
19
+ token: z.uuid(),
20
+ reference: z
21
+ .string()
22
+ .regex(/^[A-Za-z0-9._:@/-]{1,256}$/)
23
+ .refine((value) => !value.includes('://')),
24
+ operationDigest: ResourceSchema,
25
+ startedAt: z.iso.datetime(),
26
+ deadline: z.iso.datetime(),
27
+ state: z.enum(['executing', 'unknown']),
28
+ });
29
+ export const OperationCoordinationListResponseSchema = z.strictObject({
30
+ ok: z.literal(true),
31
+ data: z.strictObject({
32
+ records: z.array(RecordSchema).max(100),
33
+ nextBeforeResource: ResourceSchema.optional(),
34
+ }),
35
+ });
36
+ export const OperationCoordinationListClientResponseSchema = z.object({
37
+ ok: z.literal(true),
38
+ data: z.object({
39
+ records: z.array(z.object(RecordSchema.shape)).max(100),
40
+ nextBeforeResource: ResourceSchema.optional(),
41
+ }),
42
+ });
43
+ export const OperationCoordinationResolveResponseSchema = z.strictObject({
44
+ ok: z.literal(true),
45
+ data: z.strictObject({ resolved: z.literal(true) }),
46
+ });
47
+ export const OperationCoordinationResolveClientResponseSchema = z.object({
48
+ ok: z.literal(true),
49
+ data: z.object({ resolved: z.literal(true) }),
50
+ });
51
+ //# sourceMappingURL=operation-coordination.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodleseed/one",
3
- "version": "0.164.0",
3
+ "version": "0.166.0",
4
4
  "private": false,
5
5
  "description": "Noodle CLI by Noodle Seed — author, run, and deploy declarative MCP servers. Embedding the assistant in your own web app is @noodleseed/assistant.",
6
6
  "license": "Apache-2.0",
@@ -235,7 +235,7 @@
235
235
  "@modelcontextprotocol/client": "2.0.0",
236
236
  "@modelcontextprotocol/server": "2.0.0",
237
237
  "@noodle-borg/admission-limits": "0.0.0",
238
- "@noodle-borg/agent-kit": "0.101.0",
238
+ "@noodle-borg/agent-kit": "0.102.0",
239
239
  "@noodle-borg/app-audit": "0.0.0",
240
240
  "@noodle-borg/app-package": "0.0.0",
241
241
  "@noodle-borg/assistant-gateway": "0.0.0",