@playcraft/common 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts +68 -0
  2. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +1 -0
  3. package/dist/cloud-workspace/runtime/agent-background-processes.js +60 -0
  4. package/dist/cloud-workspace/runtime/agent-background-processes.js.map +1 -0
  5. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +3 -5
  6. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -1
  7. package/dist/cloud-workspace/runtime/agent-chat-flush.js +2 -6
  8. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -1
  9. package/dist/cloud-workspace/runtime/agent-command.d.ts +25 -3
  10. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -1
  11. package/dist/cloud-workspace/runtime/agent-command.js +15 -0
  12. package/dist/cloud-workspace/runtime/agent-command.js.map +1 -1
  13. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +143 -0
  14. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +1 -0
  15. package/dist/cloud-workspace/runtime/agent-competitor-report.js +115 -0
  16. package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +1 -0
  17. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +90 -0
  18. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +1 -0
  19. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +60 -0
  20. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +1 -0
  21. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +5 -3
  22. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -1
  23. package/dist/cloud-workspace/runtime/agent-lifecycle.js +5 -0
  24. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +1 -1
  25. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +56 -2
  26. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -1
  27. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +40 -1
  28. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -1
  29. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +2 -2
  30. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +1 -0
  31. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -1
  32. package/dist/cloud-workspace/runtime/agent-promotion.js +5 -1
  33. package/dist/cloud-workspace/runtime/agent-promotion.js.map +1 -1
  34. package/dist/cloud-workspace/runtime/agent-source-project.d.ts +126 -0
  35. package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +1 -0
  36. package/dist/cloud-workspace/runtime/agent-source-project.js +95 -0
  37. package/dist/cloud-workspace/runtime/agent-source-project.js.map +1 -0
  38. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +9 -0
  39. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +1 -0
  40. package/dist/cloud-workspace/runtime/agent-variant-chat.js +23 -0
  41. package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +1 -0
  42. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +75 -0
  43. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +1 -0
  44. package/dist/cloud-workspace/runtime/agent-variant-git.js +62 -0
  45. package/dist/cloud-workspace/runtime/agent-variant-git.js.map +1 -0
  46. package/dist/cloud-workspace/runtime/capabilities.d.ts +1 -1
  47. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
  48. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
  49. package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
  50. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
  51. package/dist/cloud-workspace/runtime/handshake.d.ts +1 -1
  52. package/dist/cloud-workspace/runtime/index.d.ts +8 -1
  53. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -1
  54. package/dist/cloud-workspace/runtime/index.js +8 -1
  55. package/dist/cloud-workspace/runtime/index.js.map +1 -1
  56. package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
  57. package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
  58. package/dist/cloud-workspace/runtime/native-history.js +127 -0
  59. package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
  60. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +32 -3
  61. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -1
  62. package/dist/cloud-workspace/runtime/workspace-binding.js +9 -3
  63. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts +0 -266
  66. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts.map +0 -1
  67. package/dist/cloud-workspace/runtime/agent-codebuddy.js +0 -189
  68. package/dist/cloud-workspace/runtime/agent-codebuddy.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-history.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/native-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,uBAAuB;;;;;;;kBAMzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,yFAAyF;AACzF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;kBAUzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;8BAStC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CA0B/G"}
@@ -0,0 +1,127 @@
1
+ import { z } from 'zod';
2
+ import { sessionRecoverabilitySchema } from './checkpoints.js';
3
+ const TEXT_MAX = 20_000;
4
+ const ITEM_MAX = 500;
5
+ const ID_MAX = 128;
6
+ export const nativeHistoryItemSchema = z
7
+ .object({
8
+ id: z.string().min(1).max(ID_MAX),
9
+ role: z.enum(['user', 'assistant']),
10
+ text: z.string().min(1).max(TEXT_MAX),
11
+ })
12
+ .strict();
13
+ /** Sandbox `thread/read` projection. Recoverability stays on the runtime session map. */
14
+ export const nativeHistoryReadSchema = z
15
+ .object({
16
+ source: z.literal('native'),
17
+ sessionId: z.string().min(1).max(128),
18
+ workspaceId: z.string().min(1).max(128),
19
+ threadId: z.string().min(1).max(128),
20
+ threadName: z.string().min(1).max(200).optional(),
21
+ truncated: z.boolean(),
22
+ items: z.array(nativeHistoryItemSchema).max(ITEM_MAX),
23
+ })
24
+ .strict();
25
+ export const browserSessionHistorySchema = z.discriminatedUnion('source', [
26
+ nativeHistoryReadSchema.extend({ recoverability: sessionRecoverabilitySchema }).strict(),
27
+ z
28
+ .object({
29
+ source: z.literal('unmapped'),
30
+ sessionId: z.string().min(1).max(128),
31
+ workspaceId: z.string().min(1).max(128),
32
+ })
33
+ .strict(),
34
+ ]);
35
+ /**
36
+ * Projects a `thread/read` result into user and assistant text.
37
+ * A different thread id, or a payload that is not an object, is refused.
38
+ * Tool, reasoning, and image parts are omitted rather than described.
39
+ */
40
+ export function projectNativeThread(expectedThreadId, value) {
41
+ const thread = record(value);
42
+ const threadId = text(thread.id) ?? text(thread.threadId);
43
+ if (!threadId || threadId !== expectedThreadId || threadId.length > ID_MAX)
44
+ return undefined;
45
+ const name = text(thread.name)?.trim();
46
+ const threadName = name ? name.slice(0, 200) : undefined;
47
+ const collected = [];
48
+ const used = new Set();
49
+ let truncated = false;
50
+ const turns = Array.isArray(thread.turns) ? thread.turns : [];
51
+ for (const turn of turns) {
52
+ const items = Array.isArray(record(turn).items) ? record(turn).items : [];
53
+ for (const item of items) {
54
+ if (absorb(item, collected, used))
55
+ truncated = true;
56
+ }
57
+ }
58
+ if (collected.length > ITEM_MAX) {
59
+ truncated = true;
60
+ collected.splice(0, collected.length - ITEM_MAX);
61
+ }
62
+ return {
63
+ threadId,
64
+ ...(threadName ? { threadName } : {}),
65
+ truncated,
66
+ items: collected,
67
+ };
68
+ }
69
+ function absorb(value, collected, used) {
70
+ const item = record(value);
71
+ const kind = text(item.type);
72
+ let role;
73
+ let body = '';
74
+ if (kind === 'userMessage') {
75
+ role = 'user';
76
+ body = userText(item.content);
77
+ }
78
+ else if (kind === 'agentMessage') {
79
+ role = 'assistant';
80
+ body = text(item.text) ?? '';
81
+ }
82
+ else {
83
+ return false;
84
+ }
85
+ const trimmed = body.trim();
86
+ if (!role || !trimmed)
87
+ return false;
88
+ let truncated = false;
89
+ let next = trimmed;
90
+ if (next.length > TEXT_MAX) {
91
+ next = next.slice(0, TEXT_MAX);
92
+ truncated = true;
93
+ }
94
+ const id = uniqueId(text(item.id), collected.length + 1, used);
95
+ collected.push({ id, role, text: next });
96
+ return truncated;
97
+ }
98
+ function userText(content) {
99
+ if (!Array.isArray(content))
100
+ return '';
101
+ return content
102
+ .map((part) => {
103
+ const row = record(part);
104
+ return text(row.type) === 'text' ? text(row.text) ?? '' : '';
105
+ })
106
+ .filter(Boolean)
107
+ .join('\n');
108
+ }
109
+ function uniqueId(preferred, index, used) {
110
+ const base = preferred && preferred.length <= ID_MAX ? preferred : `item_${index}`;
111
+ if (!used.has(base)) {
112
+ used.add(base);
113
+ return base;
114
+ }
115
+ const next = `${base}:${index}`.slice(0, ID_MAX);
116
+ used.add(next);
117
+ return next;
118
+ }
119
+ function text(value) {
120
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
121
+ }
122
+ function record(value) {
123
+ return value !== null && typeof value === 'object' && !Array.isArray(value)
124
+ ? value
125
+ : {};
126
+ }
127
+ //# sourceMappingURL=native-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-history.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/native-history.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,25 @@ export declare const workspaceGitAccessSchema: z.ZodObject<{
22
22
  export type WorkspaceGitAccess = z.infer<typeof workspaceGitAccessSchema>;
23
23
  /** Controlled read entry. The canonical repository URL stays on the remote. */
24
24
  export declare const workspaceGitTransportSchema: z.ZodObject<{
25
- kind: z.ZodLiteral<"git-read-gateway-v1">;
25
+ kind: z.ZodEnum<{
26
+ "git-read-gateway-v1": "git-read-gateway-v1";
27
+ "git-gateway-v2": "git-gateway-v2";
28
+ }>;
26
29
  cloneUrl: z.ZodString;
27
30
  }, z.core.$strict>;
28
31
  export type WorkspaceGitTransport = z.infer<typeof workspaceGitTransportSchema>;
29
32
  export declare const workspacePreparationSchema: z.ZodObject<{
30
33
  mode: z.ZodLiteral<"clone">;
34
+ authMode: z.ZodOptional<z.ZodEnum<{
35
+ readonly LOCAL: "local";
36
+ readonly GATEWAY: "gateway";
37
+ }>>;
38
+ directAccess: z.ZodOptional<z.ZodNullable<z.ZodObject<{
39
+ repositoryUrl: z.ZodString;
40
+ origin: z.ZodString;
41
+ username: z.ZodString;
42
+ password: z.ZodString;
43
+ }, z.core.$strict>>>;
31
44
  gitAccess: z.ZodOptional<z.ZodObject<{
32
45
  username: z.ZodString;
33
46
  password: z.ZodString;
@@ -35,7 +48,10 @@ export declare const workspacePreparationSchema: z.ZodObject<{
35
48
  expiresAt: z.ZodString;
36
49
  }, z.core.$strict>>;
37
50
  transport: z.ZodOptional<z.ZodObject<{
38
- kind: z.ZodLiteral<"git-read-gateway-v1">;
51
+ kind: z.ZodEnum<{
52
+ "git-read-gateway-v1": "git-read-gateway-v1";
53
+ "git-gateway-v2": "git-gateway-v2";
54
+ }>;
39
55
  cloneUrl: z.ZodString;
40
56
  }, z.core.$strict>>;
41
57
  }, z.core.$strict>;
@@ -69,6 +85,16 @@ export declare const workspaceRegistrationRequestSchema: z.ZodObject<{
69
85
  leaseFence: z.ZodNumber;
70
86
  preparation: z.ZodOptional<z.ZodObject<{
71
87
  mode: z.ZodLiteral<"clone">;
88
+ authMode: z.ZodOptional<z.ZodEnum<{
89
+ readonly LOCAL: "local";
90
+ readonly GATEWAY: "gateway";
91
+ }>>;
92
+ directAccess: z.ZodOptional<z.ZodNullable<z.ZodObject<{
93
+ repositoryUrl: z.ZodString;
94
+ origin: z.ZodString;
95
+ username: z.ZodString;
96
+ password: z.ZodString;
97
+ }, z.core.$strict>>>;
72
98
  gitAccess: z.ZodOptional<z.ZodObject<{
73
99
  username: z.ZodString;
74
100
  password: z.ZodString;
@@ -76,7 +102,10 @@ export declare const workspaceRegistrationRequestSchema: z.ZodObject<{
76
102
  expiresAt: z.ZodString;
77
103
  }, z.core.$strict>>;
78
104
  transport: z.ZodOptional<z.ZodObject<{
79
- kind: z.ZodLiteral<"git-read-gateway-v1">;
105
+ kind: z.ZodEnum<{
106
+ "git-read-gateway-v1": "git-read-gateway-v1";
107
+ "git-gateway-v2": "git-gateway-v2";
108
+ }>;
80
109
  cloneUrl: z.ZodString;
81
110
  }, z.core.$strict>>;
82
111
  }, z.core.$strict>>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-binding.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B;;;;;;;;;;kBAUwC,CAAC;AAEjF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wFAAwF;AACxF,eAAO,MAAM,wBAAwB;;;;;kBAmBjC,CAAC;AACL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,+EAA+E;AAC/E,eAAO,MAAM,2BAA2B;;;kBAK7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;kBAO6C,CAAC;AACrF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAcpE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAWnF;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAAA;CAAE,CAAC;AAE7D,uEAAuE;AACvE,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,aAAa,EAAE,MAAM,GACpB,wBAAwB,CAkC1B;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQpC,CAAC"}
1
+ {"version":3,"file":"workspace-binding.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B;;;;;;;;;;kBAUwC,CAAC;AAEjF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wFAAwF;AACxF,eAAO,MAAM,wBAAwB;;;;;kBAmBjC,CAAC;AACL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,+EAA+E;AAC/E,eAAO,MAAM,2BAA2B;;;;;;kBAK7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;kBAYA,CAAC;AACxC,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAcpE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAWnF;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAAA;CAAE,CAAC;AAE7D,uEAAuE;AACvE,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,aAAa,EAAE,MAAM,GACpB,wBAAwB,CAkC1B;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQpC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { isLocalWorkspaceGitAuthMode, workspaceGitAuthModeSchema, workspaceGitDirectAccessSchema } from './git-auth-mode.js';
2
3
  /** Trusted control-plane registration; never merge this with a browser operation payload. */
3
4
  export const workspaceRegistrationSchema = z
4
5
  .object({
@@ -35,18 +36,23 @@ export const workspaceGitAccessSchema = z
35
36
  /** Controlled read entry. The canonical repository URL stays on the remote. */
36
37
  export const workspaceGitTransportSchema = z
37
38
  .object({
38
- kind: z.literal('git-read-gateway-v1'),
39
+ kind: z.enum(['git-read-gateway-v1', 'git-gateway-v2']),
39
40
  cloneUrl: z.string().min(1).max(2048),
40
41
  })
41
42
  .strict();
42
43
  export const workspacePreparationSchema = z
43
44
  .object({
44
45
  mode: z.literal('clone'),
46
+ authMode: workspaceGitAuthModeSchema.optional(),
47
+ directAccess: workspaceGitDirectAccessSchema.nullable().optional(),
45
48
  gitAccess: workspaceGitAccessSchema.optional(),
46
49
  transport: workspaceGitTransportSchema.optional(),
47
50
  })
48
51
  .strict()
49
- .refine((value) => value.transport === undefined || value.gitAccess !== undefined);
52
+ .refine((value) => value.transport === undefined || value.gitAccess !== undefined)
53
+ .refine(value => isLocalWorkspaceGitAuthMode(value.authMode)
54
+ ? value.directAccess !== undefined && !value.gitAccess && !value.transport
55
+ : value.directAccess === undefined);
50
56
  const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '[::1]']);
51
57
  export function parseWorkspaceGitGatewayOrigin(value) {
52
58
  const url = new URL(value);
@@ -94,7 +100,7 @@ export function matchWorkspaceGitGatewayCloneUrl(cloneUrl, allowedOrigins, repos
94
100
  return { ok: false, reason: 'rejected' };
95
101
  }
96
102
  }
97
- const request = /^\/workspace-git\/([a-f0-9]{64})$/.exec(gateway.pathname);
103
+ const request = /^\/workspace-git\/([a-f0-9]{64}|v2\/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$/.exec(gateway.pathname);
98
104
  if (!request ||
99
105
  gateway.username ||
100
106
  gateway.password ||
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-binding.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-binding.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@playcraft/common",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,266 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const agentCodeBuddyActions: readonly ["ensure", "session_new", "session_load", "prompt", "observe", "abort", "set_model", "rest", "close", "delete_session", "settled"];
3
- export declare const agentCodeBuddyFamilies: readonly ["ensure", "session_new", "session_load", "run", "set_model", "rest", "close", "delete_session"];
4
- export declare const agentCodeBuddyRestMethods: readonly ["GET", "PUT"];
5
- export declare function agentCodeBuddyFamily(action: (typeof agentCodeBuddyActions)[number]): (typeof agentCodeBuddyFamilies)[number];
6
- export declare const agentCodeBuddyEventSchema: z.ZodObject<{
7
- seq: z.ZodNumber;
8
- method: z.ZodString;
9
- params: z.ZodOptional<z.ZodUnknown>;
10
- }, z.core.$strict>;
11
- export declare const agentCodeBuddyRequestSchema: z.ZodObject<{
12
- action: z.ZodEnum<{
13
- close: "close";
14
- rest: "rest";
15
- prompt: "prompt";
16
- abort: "abort";
17
- settled: "settled";
18
- ensure: "ensure";
19
- session_new: "session_new";
20
- session_load: "session_load";
21
- observe: "observe";
22
- set_model: "set_model";
23
- delete_session: "delete_session";
24
- }>;
25
- requestId: z.ZodString;
26
- writerEpoch: z.ZodNumber;
27
- projectId: z.ZodString;
28
- branchName: z.ZodString;
29
- settledOnly: z.ZodDefault<z.ZodBoolean>;
30
- acpSessionId: z.ZodOptional<z.ZodString>;
31
- prompt: z.ZodOptional<z.ZodString>;
32
- cursor: z.ZodOptional<z.ZodNumber>;
33
- modelId: z.ZodOptional<z.ZodString>;
34
- restMethod: z.ZodOptional<z.ZodEnum<{
35
- GET: "GET";
36
- PUT: "PUT";
37
- }>>;
38
- restPath: z.ZodOptional<z.ZodEnum<{
39
- "api/v1/settings": "api/v1/settings";
40
- "api/v1/settings/model": "api/v1/settings/model";
41
- }>>;
42
- restBody: z.ZodOptional<z.ZodUnknown>;
43
- }, z.core.$strict>;
44
- export declare const agentCodeBuddyResultSchema: z.ZodUnion<readonly [z.ZodObject<{
45
- outcome: z.ZodLiteral<"running">;
46
- acpSessionId: z.ZodOptional<z.ZodString>;
47
- phase: z.ZodOptional<z.ZodEnum<{
48
- connecting: "connecting";
49
- prompting: "prompting";
50
- working: "working";
51
- }>>;
52
- }, z.core.$strict>, z.ZodObject<{
53
- outcome: z.ZodLiteral<"uncertain">;
54
- error: z.ZodString;
55
- }, z.core.$strict>, z.ZodObject<{
56
- outcome: z.ZodLiteral<"settled">;
57
- kind: z.ZodLiteral<"ensure">;
58
- status: z.ZodEnum<{
59
- failed: "failed";
60
- completed: "completed";
61
- }>;
62
- alreadyConnected: z.ZodBoolean;
63
- error: z.ZodOptional<z.ZodString>;
64
- }, z.core.$strict>, z.ZodObject<{
65
- outcome: z.ZodLiteral<"settled">;
66
- kind: z.ZodLiteral<"session">;
67
- status: z.ZodEnum<{
68
- failed: "failed";
69
- completed: "completed";
70
- }>;
71
- acpSessionId: z.ZodNullable<z.ZodString>;
72
- configOptions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
73
- error: z.ZodOptional<z.ZodString>;
74
- }, z.core.$strict>, z.ZodObject<{
75
- outcome: z.ZodLiteral<"settled">;
76
- kind: z.ZodLiteral<"observe">;
77
- status: z.ZodEnum<{
78
- failed: "failed";
79
- completed: "completed";
80
- }>;
81
- cursor: z.ZodNumber;
82
- events: z.ZodArray<z.ZodObject<{
83
- seq: z.ZodNumber;
84
- method: z.ZodString;
85
- params: z.ZodOptional<z.ZodUnknown>;
86
- }, z.core.$strict>>;
87
- phase: z.ZodEnum<{
88
- idle: "idle";
89
- prompting: "prompting";
90
- working: "working";
91
- }>;
92
- acpSessionId: z.ZodOptional<z.ZodString>;
93
- availableCommands: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
94
- configOptions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
95
- sessions: z.ZodOptional<z.ZodArray<z.ZodString>>;
96
- error: z.ZodOptional<z.ZodString>;
97
- }, z.core.$strict>, z.ZodObject<{
98
- outcome: z.ZodLiteral<"settled">;
99
- kind: z.ZodLiteral<"run">;
100
- status: z.ZodEnum<{
101
- aborted: "aborted";
102
- failed: "failed";
103
- completed: "completed";
104
- }>;
105
- acpSessionId: z.ZodString;
106
- error: z.ZodOptional<z.ZodString>;
107
- }, z.core.$strict>, z.ZodObject<{
108
- outcome: z.ZodLiteral<"settled">;
109
- kind: z.ZodLiteral<"model">;
110
- status: z.ZodEnum<{
111
- failed: "failed";
112
- completed: "completed";
113
- }>;
114
- modelId: z.ZodOptional<z.ZodString>;
115
- configOptions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
116
- error: z.ZodOptional<z.ZodString>;
117
- }, z.core.$strict>, z.ZodObject<{
118
- outcome: z.ZodLiteral<"settled">;
119
- kind: z.ZodLiteral<"rest">;
120
- status: z.ZodEnum<{
121
- failed: "failed";
122
- completed: "completed";
123
- }>;
124
- body: z.ZodOptional<z.ZodUnknown>;
125
- error: z.ZodOptional<z.ZodString>;
126
- }, z.core.$strict>, z.ZodObject<{
127
- outcome: z.ZodLiteral<"settled">;
128
- kind: z.ZodLiteral<"delete">;
129
- status: z.ZodEnum<{
130
- failed: "failed";
131
- completed: "completed";
132
- }>;
133
- removed: z.ZodBoolean;
134
- error: z.ZodOptional<z.ZodString>;
135
- }, z.core.$strict>, z.ZodObject<{
136
- outcome: z.ZodLiteral<"settled">;
137
- kind: z.ZodLiteral<"close">;
138
- status: z.ZodEnum<{
139
- failed: "failed";
140
- completed: "completed";
141
- }>;
142
- error: z.ZodOptional<z.ZodString>;
143
- }, z.core.$strict>]>;
144
- export declare const agentCodeBuddyResponseSchema: z.ZodObject<{
145
- requestId: z.ZodString;
146
- operationId: z.ZodString;
147
- action: z.ZodEnum<{
148
- close: "close";
149
- rest: "rest";
150
- prompt: "prompt";
151
- abort: "abort";
152
- settled: "settled";
153
- ensure: "ensure";
154
- session_new: "session_new";
155
- session_load: "session_load";
156
- observe: "observe";
157
- set_model: "set_model";
158
- delete_session: "delete_session";
159
- }>;
160
- inputHash: z.ZodString;
161
- result: z.ZodUnion<readonly [z.ZodObject<{
162
- outcome: z.ZodLiteral<"running">;
163
- acpSessionId: z.ZodOptional<z.ZodString>;
164
- phase: z.ZodOptional<z.ZodEnum<{
165
- connecting: "connecting";
166
- prompting: "prompting";
167
- working: "working";
168
- }>>;
169
- }, z.core.$strict>, z.ZodObject<{
170
- outcome: z.ZodLiteral<"uncertain">;
171
- error: z.ZodString;
172
- }, z.core.$strict>, z.ZodObject<{
173
- outcome: z.ZodLiteral<"settled">;
174
- kind: z.ZodLiteral<"ensure">;
175
- status: z.ZodEnum<{
176
- failed: "failed";
177
- completed: "completed";
178
- }>;
179
- alreadyConnected: z.ZodBoolean;
180
- error: z.ZodOptional<z.ZodString>;
181
- }, z.core.$strict>, z.ZodObject<{
182
- outcome: z.ZodLiteral<"settled">;
183
- kind: z.ZodLiteral<"session">;
184
- status: z.ZodEnum<{
185
- failed: "failed";
186
- completed: "completed";
187
- }>;
188
- acpSessionId: z.ZodNullable<z.ZodString>;
189
- configOptions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
190
- error: z.ZodOptional<z.ZodString>;
191
- }, z.core.$strict>, z.ZodObject<{
192
- outcome: z.ZodLiteral<"settled">;
193
- kind: z.ZodLiteral<"observe">;
194
- status: z.ZodEnum<{
195
- failed: "failed";
196
- completed: "completed";
197
- }>;
198
- cursor: z.ZodNumber;
199
- events: z.ZodArray<z.ZodObject<{
200
- seq: z.ZodNumber;
201
- method: z.ZodString;
202
- params: z.ZodOptional<z.ZodUnknown>;
203
- }, z.core.$strict>>;
204
- phase: z.ZodEnum<{
205
- idle: "idle";
206
- prompting: "prompting";
207
- working: "working";
208
- }>;
209
- acpSessionId: z.ZodOptional<z.ZodString>;
210
- availableCommands: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
211
- configOptions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
212
- sessions: z.ZodOptional<z.ZodArray<z.ZodString>>;
213
- error: z.ZodOptional<z.ZodString>;
214
- }, z.core.$strict>, z.ZodObject<{
215
- outcome: z.ZodLiteral<"settled">;
216
- kind: z.ZodLiteral<"run">;
217
- status: z.ZodEnum<{
218
- aborted: "aborted";
219
- failed: "failed";
220
- completed: "completed";
221
- }>;
222
- acpSessionId: z.ZodString;
223
- error: z.ZodOptional<z.ZodString>;
224
- }, z.core.$strict>, z.ZodObject<{
225
- outcome: z.ZodLiteral<"settled">;
226
- kind: z.ZodLiteral<"model">;
227
- status: z.ZodEnum<{
228
- failed: "failed";
229
- completed: "completed";
230
- }>;
231
- modelId: z.ZodOptional<z.ZodString>;
232
- configOptions: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
233
- error: z.ZodOptional<z.ZodString>;
234
- }, z.core.$strict>, z.ZodObject<{
235
- outcome: z.ZodLiteral<"settled">;
236
- kind: z.ZodLiteral<"rest">;
237
- status: z.ZodEnum<{
238
- failed: "failed";
239
- completed: "completed";
240
- }>;
241
- body: z.ZodOptional<z.ZodUnknown>;
242
- error: z.ZodOptional<z.ZodString>;
243
- }, z.core.$strict>, z.ZodObject<{
244
- outcome: z.ZodLiteral<"settled">;
245
- kind: z.ZodLiteral<"delete">;
246
- status: z.ZodEnum<{
247
- failed: "failed";
248
- completed: "completed";
249
- }>;
250
- removed: z.ZodBoolean;
251
- error: z.ZodOptional<z.ZodString>;
252
- }, z.core.$strict>, z.ZodObject<{
253
- outcome: z.ZodLiteral<"settled">;
254
- kind: z.ZodLiteral<"close">;
255
- status: z.ZodEnum<{
256
- failed: "failed";
257
- completed: "completed";
258
- }>;
259
- error: z.ZodOptional<z.ZodString>;
260
- }, z.core.$strict>]>;
261
- }, z.core.$strict>;
262
- export type AgentCodeBuddyRequest = z.infer<typeof agentCodeBuddyRequestSchema>;
263
- export type AgentCodeBuddyResult = z.infer<typeof agentCodeBuddyResultSchema>;
264
- export type AgentCodeBuddyResponse = z.infer<typeof agentCodeBuddyResponseSchema>;
265
- export type AgentCodeBuddyEvent = z.infer<typeof agentCodeBuddyEventSchema>;
266
- //# sourceMappingURL=agent-codebuddy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-codebuddy.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/agent-codebuddy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,qBAAqB,6IAYxB,CAAC;AACX,eAAO,MAAM,sBAAsB,2GASzB,CAAC;AACX,eAAO,MAAM,yBAAyB,yBAA0B,CAAC;AAEjE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,GAC7C,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAKzC;AAED,eAAO,MAAM,yBAAyB;;;;kBAM3B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4CpC,CAAC;AAEL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAyFrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ9B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}